body{font-family:Arial,sans-serif}root{display:block}a,i{cursor:pointer}blockquote{padding:10px 20px!important;margin:0 0 20px!important;font-size:inherit!important;border-left:5px solid #eee!important}.divpadding{padding-top:40px}.iamtext{padding-right:20px}.downlink{margin:0 15px;text-align:right}.signinform{padding-bottom:20px}.advertiseborder{padding:0 10px;border:1px solid #eee}.fontred{font-size:24px}#babillarr_btn_div{margin:0 0 5px 0}#babillarr_btn_div .box_mycontents{margin:0 5px 0 0}.maincontainer{margin-top:10px}@media (max-width:320px){.maincontainer{margin:60px 5px 0 5px}}#followersBox,#studentsettings{margin-top:10px}#xs_formparentfollow{margin-top:10px;margin-right:10px;margin-left:5px}#formparentfollow label,#xs_formparentfollow label{padding-right:5px}#formparentfollow select,#xs_formparentfollow select{border-color:#ffecb5}.eltfilter{padding:8px 5px 8px 10px;margin:10px 5px;border:1px solid #ddd;background-color:#f5f5f5}.eltfilterqcmbank{padding:8px 5px 8px 10px;margin:10px 0;border:1px solid #ddd;background-color:#f5f5f5}.eltfilter select,.eltfilterqcmbank select{background-color:#fbfbfb}.eltfilter label,.eltfilter ul,.eltfilterqcmbank label,.eltfilterqcmbank ul{padding:0}.eltfilter ul li,.eltfilterqcmbank ul li{list-style:none;padding-right:2px}.eltfilter ul li select,.eltfilterqcmbank ul li select .objsendbtn{border-radius:0px!important}.filterchoicelist{margin:0}.distance_btn{margin:0 0 5px 5px}.margin_box_btn{margin:15px 0 0 5px;padding:0}.objnewcssrg{margin-right:8px}.objnewcss1{margin-right:5px}.objnewcss2{margin-right:30px}.prevBtn{border-radius:4px 0 0 4px}.nextBtn{border-radius:0 4px 4px 0}.pinBtn{border-radius:4px 0 0 4px}.pinListBtn{border-radius:0 4px 4px 0}#qcmpinlist{margin:2px 0 0 0!important;padding:0!important;min-width:200px!important;border-radius:0 0 4px 4px}#qcmpinlist li{padding:0 5px}#qcmpinlist li:hover{background-color:#f5f5f5;cursor:pointer}#menuobj,.infobtn{text-transform:uppercase;background-color:#0073b1!important;color:#ffffff!important;border:1px solid #0073b1;border-radius:0}.objactmenu li:hover{background-color:#0073b1;color:#fff}.objnewcss li{text-transform:capitalize}.fontred48{font-size:42px}.font32{font-size:32px;font-weight:700}.font32nml{font-size:32px;font-weight:400}.font24{font-size:24px}.font18{font-size:18px}.stafflist .staffbox{padding:5px}#setting-list .margeboxtof{padding-bottom:5px;margin-bottom:10px;border-bottom:1px solid #ddd}#setting-list .margeboxtof .divcontent{padding:0!important}#setting-list .margeboxtof .contentrightalign{text-align:right}#setting-list li,#infos-list li{list-style:none;padding:10px 15px;border-bottom:1px solid #ddd}#setting-list label,#infos-list label{line-height:48px}#ulboxlist li{padding:10px 5px}#periods_container ul li:last-child,#evals_container ul li:last-child,#classes_container ul li:last-child,#ues_container ul li:last-child,#staff_container ul li:last-child{border:none}.icondistance{margin-left:8px}.icondistance_saveico{margin-left:10px;margin-right:10px}.signup-header .form-title{text-transform:uppercase}.course_view_item{padding:0;margin:10px 0 0 0;border:1px solid #eee;border-radius:4px}.course_view_item .course_aside_zone{padding:0;margin:0;text-align:center;text-transform:uppercase;background-color:#f5f5f5}.course_view_item .course_aside_zone .course_day{font-size:1.2em;color:#fff;padding:8px;border-radius:4px 0 0 0;margin:-1px 0 0 -1px}.course_view_item .course_aside_zone .course_month{font-size:1.2em;color:#fff;padding:8px;background-color:#47A447;margin:-1px 0 0 -1px}.course_view_item .course_aside_zone .course_classlist{font-size:.8em;font-weight:700;padding:8px 3px;text-align:center;word-break:break-all;background-color:#fff}.course_xs_day,.course_xs_month,.course_xs_classlist{font-size:1em;padding:5px}.course_xs_day{color:#fff;border-radius:4px 0 0 0}.course_xs_month{color:#fff;background-color:#47A447}.course_xs_classlist{background-color:#e1edf7;border-radius:0 0 0 4px}.course_view_item .course_content_zone{padding:0}.course_view_item .course_content_zone .head-course{padding:8px}.course_view_item .course_content_zone .head-course .elthourdiv{padding:0;margin:0 0 5px 0;line-height:normal}.elthour{font-size:12px;text-transform:lowercase!important;color:#aaa}.elthour:first-letter{text-transform:capitalize}.course_view_item .course_content_zone .course_ue{text-transform:uppercase;font-size:1em}.course_view_item .course_content_zone hr{margin-top:10px;margin-bottom:10px}.course_title,.course_resume,.course_other{font-weight:700;font-size:1em}.download_title{font-size:14px;font-weight:700}.greenBg{background-color:#47a447;border-color:#47a447}.greenBg:hover{border:2px solid #47a447;color:#fff}.validbtn{color:#fff!important;background-color:#ec971f!important;border-color:#d58512!important;cursor:pointer}.validstatus{color:#fff!important;background-color:#5cb85c!important;border-color:#398439!important}#userviewZone .classonglet{margin-left:5px;margin-right:5px}.classonglet a{color:#777!important}.classonglet>li.active>a{color:#0073b1!important}.nav_user_tab>li>a{color:#777!important}.nav_user_tab>li.active>a{color:#0073b1!important}.navbarprofile>h3{color:#0073b1}.course_aspect_files{padding:5px 8px;background-color:#D2E0E6}.course_aspect_files ul,.course_files ul{margin:0;padding:0}.course_aspect_files ul li,.course_files ul li{list-style:none;margin:0;padding:0}.colorjumbo{margin-bottom:0;padding:0;padding-left:40px;background-color:#f59300}.div_course_sapect{background-color:#fff}.course_aspect_head{clear:both;padding:5px 8px}.info{color:#39B3D7}.rslicon{color:#5bc0de;font-weight:400}.font35{font-size:3.5em}.course_aspect_div{background-color:#e1edf7}.nav_pill_contentbox{padding:1px 0}.div_course_aspect{margin:15px;background-color:#FFF}.aspect_date{float:right;color:#fff;padding:0 5px;background-color:#39B3D7}.babillarr_btn_div{padding:0;margin:0}.babillarr_btn_div p{margin:0;padding:0}.marginbtn{margin:0 10px 0 10px}.filecolor{color:#47A447!important}.shareclass{color:#39B3D7!important;cursor:pointer}.todouploadlink{text-align:center;margin:0}.todofileiconsend{color:#47A447!important;cursor:pointer}.course_files ul li a,.mystdtodofiles ul li a{color:#777!important}.specificdiv{margin-left:10px;margin-right:15px}.specificdiv ul li{list-style:none}.specificdiv ul{margin:0;padding:0}.datelineinfo{color:#9F6000}.btndistance{margin-right:15px}.objactbutton{display:inline-block;margin-left:23px;padding-bottom:10px}.course_files ul{padding:0 3px 3px 0}.infonbgrpmembers{color:#d79a10!important}.placeon{text-align:center;margin:20px}.backwarn{border-radius:4px 4px 0 0;background-color:#f8d7da;border-color:#f5c6cb}.backwarn a,.alertinfo{color:#721c24!important}.backwarnmod{border-radius:4px 4px 0 0;background-color:#f7e68c;border-color:#ed9d45}.backwarnmod a{color:#514940!important}.tabTitle,.logoempty{color:#0073b1}.visitors_advice{font-style:italic;color:#A94442}.resulticondiv{margin-right:10px}.noteclasstitle table{border-collapse:collapse;border:1px solid #ccc;margin-bottom:5px}.noteclasstitle table tr td,.noteclasstitle table tr th{border:1px solid #ccc;vertical-align:central;text-align:center;padding:0 5px}.noteclasstitle table tr th{background-color:#f5f5f5;color:#777;font-weight:400}.noteclasstitle table tr{padding:5px}.schoolabnlist{padding:0;margin:0;margin-left:10px}.schoolabnlist li{list-style:none;padding:0;margin:0}.hintcolor{color:#9F6000;cursor:pointer}.bluelink{color:#0073b1;cursor:pointer}.bluelinkmod{color:#0073b1;cursor:pointer}.nomargelist{margin:0;padding:0}.nomargelistMat{margin:0;padding:0;padding-left:18px}.nomargelist li,.nomargelistMat li{margin:0;padding:0}.stdtodofilelist{margin:0;margin-left:10px;padding:5px 0}.nofilefound{margin:0}.nbtodomvt{color:#47a447;font-weight:700}.nopadtabletd tbody tr td,.nopadtabletd thead tr th{padding:7px;vertical-align:middle;padding:0}#nopadtable>table>tbody>tr td,#nopadtable>table>thead>tr>th,#nopadtable>table>tfoot>tr>th,#nopadtableNT>table>tbody>tr td,#nopadtableNT>table>thead>tr>th,#nopadtableNT>table>tfoot>tr>th{padding:5px;vertical-align:middle}#nopadtableins>table>tbody>tr td,#nopadtableins>table>thead>tr>th,#nopadtableins>table>tfoot>tr>th,#nopadtableNTins>table>tbody>tr td,#nopadtableNTins>table>thead>tr>th,#nopadtableNTins>table>tfoot>tr>th{padding:5px;vertical-align:middle}.schoolbox{padding-bottom:5px;margin-bottom:10px;margin-top:15px;border-bottom:1px solid #eee}.schoolbox .updown{margin-right:5px}.schoolbox .schoollogo{margin-right:5px}.schoolbox .schoolname{padding-top:15px}.noteclasstitles .noteperiodtitle{padding:10px 0}.seeheader{padding:0 0 0 0;margin-bottom:0}.tabTitle span{font-size:18px}#studentsettings li{padding:10px 5px;margin:10px 0}.sltSchoolLabel{font-size:22px;padding:0;margin:0;padding-bottom:15px}.cursor{cursor:pointer}.filterue{padding:3px}.headerbluelink{position:relative;display:block;padding:10px 15px;color:#3eb0f7;cursor:pointer}.headerbluelinkmod{padding:2px 5px;padding-left:10px;color:#777;cursor:pointer;background-color:#f5f5f5}.navbarprofile{padding:0 3px!important}.noteclasstitles .schClassTitle{padding:0 10px;margin:10px 0 0 0;width:100%;background-color:#39B3D7;color:#fff}.noactiontext{padding:5px 10px;background-color:#eee;border-radius:4px;border:1px solid rgb(0 0 0 / .196)}.noteclasstitles .schPeriodTitle{padding:0}.noteclasstitles .schPeriodTitle span{padding:5px 10px;background-color:#47A447;color:#fff}.noteclasstitles .schEvalTitle{margin-top:10px;color:#39B3D7}.noteclasstitles .noteevaltitle{padding-left:10px;overflow:auto}.seemore,.seemorecourse,.seemoretodo{cursor:pointer;color:#39b3d7}.myresultzone{text-align:center}.myresultzone label{font-weight:400}.tdtbstdtodolist tr td{vertical-align:central}.centerElt{text-align:center!important}.stafflist li{list-style:none}.clearlink{color:#afd9ee}.dropdown-header{font-size:14px}.resultloaderbox{margin-top:10px}.noresult,.nocontent{color:silver;font-size:small}.note-toolbar .btn-default,.note-popover .btn-default{font-size:13px;margin:0;margin-right:0;line-height:1.5;padding:5px 10px;height:30px;border:1px solid #CCC;background:#fff;transition:all 0.4s;color:#333;border-radius:3px}.note-toolbar .btn-default:hover,.note-toolbar .btn-default:focus,.note-toolbar .btn-default:active,.note-toolbar .btn-default.active,.note-toolbar .open>.dropdown-toggle.btn-default{border:1px solid #CCC;background:#F5F5F5;color:#333}.responsive-video{position:relative;padding-bottom:56.25%;padding-top:60px;overflow:hidden}.responsive-video iframe,.responsive-video object,.responsive-video embed{position:absolute;top:0;left:0;width:100%;height:100%}.cnx_error{padding:12px 10px;font-size:14px}.cnx_error .close{line-height:5px}.editeltclass{color:#39B3D7}.deleltclass{color:#A94442}.undoeltclass{color:#f0ad4e}.fontFA{font-size:22px}.fontFA18{font-size:18px}.fontFA14{font-size:14px}.wrongrollcode{padding:10px;background-color:#f5f5f5}.help{text-align:justify}.inbold{font-weight:700}.greenlink{color:#47A447;cursor:pointer}.greenicon{color:#47A447;cursor:default}.pinklink{color:#E059AA;cursor:pointer}pinklink .pinkicon{color:#E059AA;cursor:default}#stdhelpbox ul.nav-pills{top:210px;position:fixed;width:160px}.helpmenu_nav{padding-left:0}.help .red,.staffhelp .red{color:#A94442}.red_color{color:#A94442}.yellow_color{color:#ff0}.help .helpcaption,.staffhelp .helpcaption{color:#3eb0f7}.iconbbr{color:#0AA59B;font-weight:700}.staffhelp .helpmenu,.help .helpmenu{padding:5px;border:1px solid #eee}.staffhelp .helpmenu ul,.help .helpmenu ul{padding:0;margin:0}.staffhelp .helpmenu li,.help .helpmenu li{padding:0;margin:0 5px 0 15px;list-style:circle;text-align:left}.staffhelp .helpmenu ul li,.help .helpmenu ul li{padding:0;list-style-type:none;list-style:square}.helpmenutitle{margin:20px 0 10px 0;font-size:22px}.helpbox{padding:10px 0;border-bottom:1px solid #ddd}.warning_color{color:#9F6000}.warning_box{background-color:#ec971f}#posbtn{line-height:45px}.course_view_item .asideblu{background-color:#39B3D7}.course_view_item .asideimportant{background-color:#FF9800!important}.important_color{color:#FF9800!important}.justifytext{text-align:justify}.mainactzone{margin-bottom:8px;padding:0 5px}.schprefix{display:none;padding:2px 5px;margin-bottom:5px;background-color:#f5f5f5;font-size:12px;line-height:14px;border:1px solid #ddd}.schprefix .prefixclef{font-size:12px!important;font-weight:700;color:#47a447}.abnschlabel,.abnclasslabel{cursor:pointer;text-transform:uppercase}.newform-header .newform-control{border-radius:0;border:solid 1px #dadada;background-color:#fff;color:#333;height:40px}.newform-header .newform-controlsm{border-radius:0;border:solid 1px #dadada;background-color:#fff;color:#333;height:auto}.fileupl{margin:0;padding:0;list-style:square;font-size:14px}.listleftpadding{padding-left:20px}.child_padding{font-style:italic}.noleftpadding{padding-left:0}.norightpadding{padding-right:0}.middleleftpadding{padding-left:3px!important}.middlerightpadding{padding-right:3px!important}.minleftpadding{padding-left:5px!important}.minrightpadding{padding-right:5px!important}.linequeslegend{border:1px solid #39B3D7;padding:3px 10px;margin:10px 0}.linequeslegend b{color:#39B3D7}.staffhelp ul li,.staffhelp p,.help ul li,.help p{text-align:justify}.bbdEltList{margin:0;padding:0}.bbdEltList li{list-style:none}.popover{z-index:1000001}.normalview table td,.normalview table th{vertical-align:middle;padding:5px!important}.vertbar{border-right:1px solid #CCC}.smsoptionsbox h6{margin-top:3px!important}.noteTable th{background-color:#ececec}.flip-scroll_lg{overflow:auto}.flip-scroll_lg .noteTable td,.flip-scroll_lg .noteTable th{text-align:left;vertical-align:middle;padding:5px}@media only screen and (max-width:800px){#flip-scroll .cf:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}#flip-scroll * html .cf{zoom:1}#flip-scroll *:first-child+html .cf{zoom:1}#flip-scroll table{width:100%;border-collapse:collapse;border-spacing:0}#flip-scroll th,#flip-scroll td{margin:0;vertical-align:top}#flip-scroll th{text-align:left}#flip-scroll table{display:block;position:relative;width:100%}#flip-scroll thead{display:block;float:left}#flip-scroll tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}#flip-scroll thead tr{display:block}#flip-scroll th{display:block;text-align:right;padding-right:10px;padding-left:10px;background-color:#39B3D7;color:#fff;font-weight:700}#flip-scroll tbody tr{display:inline-block;vertical-align:top}#flip-scroll td{display:block;min-height:1.25em;text-align:left;padding-right:10px;padding-left:10px}#flip-scroll th{border-bottom:0;border-left:0}#flip-scroll td{border-left:0;border-right:0;border-bottom:0}#flip-scroll tbody tr{border-left:1px solid #babcbf}#flip-scroll th:last-child,#flip-scroll td:last-child{border-bottom:1px solid #babcbf}}@media only screen and (max-width:800px){#no-more-tables table,#no-more-tables thead,#no-more-tables tbody,#no-more-tables th,#no-more-tables td,#no-more-tables tr{display:block;font-size:14px}#no-more-tables thead tr{position:absolute;top:-9999px;left:-9999px}#no-more-tables tr{border:1px solid #ccc}#no-more-tables .noteTable td{border:none;border-bottom:1px solid #eee;position:relative;padding-left:63%;white-space:normal;text-align:left;overflow:auto}#no-more-tables .noteTable td:before{position:absolute;top:0;left:0;padding-left:6px;width:60%;white-space:nowrap;text-align:left;overflow:auto;background-color:#f5f5f5}#no-more-tables .listTable td{border:none;border-bottom:1px solid #eee;position:relative;padding-left:33%;white-space:normal;text-align:left;overflow:auto}#no-more-tables .listTable td:before{position:absolute;top:0;left:0;padding-left:6px;width:30%;white-space:nowrap;text-align:left;overflow:auto;background-color:#f5f5f5}#no-more-tables td:before{content:attr(data-title)}.no-more-tables table,.no-more-tables thead,.no-more-tables tbody,.no-more-tables th,.no-more-tables td,.no-more-tables tr{display:block;font-size:14px}.no-more-tables thead tr{position:absolute;top:-9999px;left:-9999px}.no-more-tables tr{border:1px solid #ccc}.no-more-tables td{border:none;border-bottom:1px solid #eee;position:relative;padding-left:33%;white-space:normal;text-align:left;overflow:auto}.no-more-tables td:before{position:absolute;top:0;left:0;padding-left:6px;width:30%;white-space:nowrap;text-align:left;overflow:auto;background-color:#f5f5f5}.no-more-tables td:before{content:attr(data-title)}.stdrsltable table td{padding-left:83%!important}.stdrsltable td:before{width:80%!important}.noteclasstitle table,.noteclasstitle table tr td{border:0!important}}.stdrsltable table th:nth-child(1),.stdrsltable table td:nth-child(1){font-weight:400}.stdrsltable table th:nth-child(2),.stdrsltable table td:nth-child(2){font-weight:normal!important}.stdrsltable .notecaption{padding-left:5px!important;text-align:center!important}table tr td.tdrightclass{border-right:1px solid red}.course_files ul li a{font-size:14px}label{font-weight:400}.sm-progress-bar{width:150px;height:10px}.marginbtnbottom{margin-bottom:15px}.margin_off_bottom{margin-bottom:10px}.filesample{font-size:14px}.files{padding-left:15px!important}.errorfile{color:#A94442}.specificdiv .specschzone{font-size:16px;font-weight:lighter}.specificdiv .goonmain{margin-top:25px}.specificdiv .goonmain2{margin-left:-20px!important;margin-top:30px}.todotheme{text-align:justify;margin-bottom:10px}.publicmsg{background-color:#d4edda;border:1px solid #c3e6cb;margin:0 0 5px 0;padding:2px}.publicmsg p{color:#155724;font-size:small;padding-left:3px}.privatemsg{background-color:#fff3cd;border:1px solid #ffecb5;margin:0 0 5px 0;padding:2px}.privatemsg p{color:#664d03;font-size:small;padding-left:3px}.alertprivatemsg{background-color:#f8d7da;border:1px solid #f5c6cb;margin:0 0 5px 0;padding:2px}.alertprivatemsg p{color:#721c24;font-size:small;padding-left:3px}.archiveprivatemsg{background-color:#EED;margin:0 0 5px 0;padding:2px}.archiveprivatemsg p{color:#777;font-size:small;padding-left:3px}.configreport{background-color:#fcf8e3;border:2px solid #faebcc;padding:15px;margin:0}.configreport .reportcontent{font-size:14px;color:#8a6d3b}.configreport .iconhelp{padding:10px 0 0 10px;color:#A94442}.configreport p{font-size:14px;color:#8a6d3b;font-weight:700}.configreport .reportcontent ul li{list-style:square}.tableintableinfo{width:100%}.tableintableinfo td{padding:5px 10px}.tableintableinfo .tblfirsttd{width:50%}.stdmoreinfo{font-weight:700}.trstdmoreinfo{background-color:#f5f5f5;padding-left:5px;padding-right:5px}.studentlistbtnzone{padding:5px!important;text-align:center!important}.formstdinfotitle{font-size:22px;padding-bottom:5px;margin:0 10px 10px 10px;border-bottom:2px solid #DDD}#bbd_menu_status,#docs_menu_status,#forum_menu_status{color:#0073b1!important}#forum_main_content{margin-left:-5px;margin-right:-5px}#forum_main_content li.nocontent{list-style:none}.forum_subject_box{margin-bottom:10px;border:1px solid #eee;background-color:#fff;border-radius:0 0 15px 0}.forum_subject_box_head{padding:3px 5px 5px 5px;background-color:#F9F9F9;margin-bottom:5px}.forum_subject_box_body{height:100px;padding:8px 5px;font-size:12px;line-height:14px;text-overflow:ellipsis;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;-o-hyphens:auto;hyphens:auto}.forum_subject_box_footer{margin:2px 5px 4px 5px}.forum_subject_box_footer>div{margin:0;padding:0}.forum_subject_box_head .felttitle{margin-top:5px;color:#283891;line-height:1;height:35px}.forum_subject_box_head .felttitle_3{margin-right:5px}.forum_subject_box_head .felttitle .felttitle_1{font-size:13px;font-weight:700}.forum_subject_box_head .felttitle .felttitle_2{font-size:14px;font-weight:lighter}.forum_subject_box_head .felttitle .felttitledet_1{font-size:16px;font-weight:lighter;padding:5px 0}.forum_subject_box_head .felttitle .felttitledet_2{font-size:13px;font-weight:lighter}.forum_subject_box_footer .feltfooter{margin-top:5px;line-height:13px}.forum_subject_box_footer .feltfooter .feltfooter_1{font-size:12px}.forum_subject_box_footer .feltfooter .feltfooter_2{font-size:12px}.forum_subject_box_footer .feltfooter .feltfooter_2 .forauthor{font-weight:700;color:#283891}.forum_subject_box_footer .feltfooter_3{margin-right:5px}.content_subject_box{margin-bottom:10px;background-color:#fff;border:1px solid #eee;border-radius:0 0 15px 0}.content_subject_box_head{padding:5px 10px;background-color:#fff}.content_subject_box_body,.content_mod_subject_box_body{height:100px;padding:10px;font-size:13px;line-height:16px;overflow:hidden;text-overflow:ellipsis;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;-o-hyphens:auto;hyphens:auto}.content_subject_box_body .objInfo,.content_mod_subject_box_body .objInfo{word-wrap:break-word;font-size:14px;color:#5397a8}.content_subject_box_footer{height:33px;padding:5px 10px 0 10px}.content_subject_box_footer>div{margin:0;padding:0}.content_subject_box .content_subject_box_head .felttitle{color:#fff;line-height:1;height:fit-content}.content_subject_box_head .felttitle_3 span{display:block;color:#777;padding:5px 0 7px 30px;cursor:pointer}.content_subject_box_head .felttitle .felttitle_1{margin:-5px 0 0 -5px;padding:5px;padding-right:10px;font-weight:400;height:fit-content;width:fit-content}.content_subject_box_head .felttitle .felttitle_2{font-weight:lighter}.content_subject_box_head .felttitle .felttitledet_1{font-size:16px;font-weight:lighter;padding:5px 0}.content_subject_box_head .felttitle .felttitledet_2{font-size:13px;font-weight:lighter}.content_subject_box_footer .feltfooter{margin-top:5px;line-height:13px}.content_subject_box_footer .feltfooter .feltfooter_1{font-size:12px}.content_subject_box_footer .feltfooter .feltfooter_2{font-size:12px}.content_subject_box_footer .feltfooter .feltfooter_2 .forauthor{font-weight:700;color:#283891}.content_subject_box_footer .feltfooter_3{vertical-align:bottom}.content_subsubject_box .content_subject_box_head{font-size:14px;color:#fff;padding:5px;border-bottom:1px solid #ddd}.eltschoolbox .objLeftPlace{padding:0 5px 0 10px}.eltschoolbox .objCenterPlace{padding:0 5px 0 10px}.eltschoolbox .objRightPlace{padding:0 5px}#divforumtable{margin-top:10px}#divforumtable>table{padding:10px 0;background-color:#EBEBEB}.orange3bschools{color:#F26522}.green3bschools{color:#8DC63F}.blue3bschools{color:#3eb0f7}.blue3bschools a{color:#0073b1}.violet3bschools{color:#E059AA}.neutralbg{color:#777!important;background-color:#fff}.orangebg3bschools{color:#fff!important;background-color:#f26522}.orangeBdLR3bschools{border-color:#f26522!important}.orangeBdLR3bschools .content_subject_box_footer i:hover{color:#f26522!important}.greenbg3bschools{color:#fff!important;background-color:#59B959}.greenBdLR3bschools{border-color:#59B959!important}.greenBdLR3bschools .content_subject_box_footer i:hover{color:#59B959!important}.bluebg3bschools{color:#fff!important;background-color:#39B3D7}.blueBdLR3bschools{border-color:#39B3D7!important}.blueBdLR3bschools .content_subject_box_footer i:hover{color:#39B3D7!important}.violetbg3bschools{color:#fff!important;background-color:#E059AA}.violetBdLR3bschools{border-color:#E059AA!important}.violetBdLR3bschools .content_subject_box_footer i:hover{color:#E059AA!important}.warning_btn{color:#fff;background-color:#f0ad4e;border-color:#eea236}.warning_btn:hover{color:#fff;background-color:#ec971f!important;border-color:#d58512!important}.info_btn{color:#fff;background-color:#5bc0de;border-color:#46b8da}.info_btn:hover{color:#fff;background-color:#31b0d5!important;border-color:#269abc!important}.yellow_star{color:#ed9c28}.feltfooter_3 i{color:#aaa}.fontFA28{font-size:28px}.objactmenu{color:#555;border-radius:0!important;line-height:28px}.objactmenu li{padding:0 10px;font-weight:400;cursor:pointer}.objactmenu li .divider{padding:0}.bluestrong3bschools{color:#283891}.forum_main_title{color:#283891}.sm-marges{padding-left:5px;padding-right:5px}.forum_subject_box:hover{background-color:#FAFAFA;cursor:pointer}.content_subsubject_box:hover{background-color:#FAFAFA;cursor:pointer}.row-marges{margin:0 -15px}.forum_subjectitem_box{margin:2px 0 5px 0;border:1px solid #fff0;background-color:#fff;border-radius:0 0 15px 0;cursor:pointer}.forum_subjectitem_box:hover{background-color:#FAFAFA}.forum_subjectitem_box_head{padding:5px;background-color:#FAFAFA}.forum_subjectitem_box_body{padding:5px;font-size:12px;line-height:15px;word-wrap:break-word;max-height:40px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.forum_reply_box{margin:8px -10px;padding-bottom:10px;border:1px solid #ddd;background-color:#fff;border-bottom:2px solid #eee}.forum_reply_box_head{padding:5px;background-color:#FAFAFA}.forum_reply_box_body{padding:0 5px}.forum_reply_box_head .replytexttitle{margin-top:5px;color:#283891;line-height:1}.forum_reply_box_head .replytexttitle .replytexttitle_1{font-size:14px;font-weight:700}.forum_reply_box_head .replytexttitle .replytexttitle_2{font-size:12px;font-weight:lighter}.forum_reply_box_head .replytitle_3{margin-right:5px}.div_forum_reply_box{margin-right:-10px;margin-left:-10px}.hr_forum_reply_box{margin-right:-10px;margin-left:-10px;border-width:2px}.forum_title{margin-left:-10px;margin-right:-10px}.forum_add_btn{margin-top:20px}.forumfilter{margin:6px 0 10px 0}.btn_forsubject{background-color:#3eb0f7;border-color:#3eb0f7}.foricocolor{;color:rgb(244 102 27 / .5)}.foricocolor:hover{color:rgb(244 102 27)}.forum_empty_answer{margin-left:-10px;margin-right:-10px;color:#CCC;font-size:14px}.forum_subject_div_head{margin-left:-10px;margin-right:-10px;padding-bottom:10px;border-bottom:2px solid #eee}.forum_subject_div_head a{font-weight:lighter}.back_listmsg{font-size:16px}.comcomment{padding:0 5px;border-top:1px solid #eee}.forumtitle{font-size:1.4em}.addfilebtn{margin-top:5px}.margeext{margin-bottom:10px}#noteextractzone{margin-top:10px;border-top:1px solid #e5e5e5}#noteextractzone h5{font-weight:lighter}.privForm h5{color:#47A447}.privForm h6{color:#3eb0f7}.formparentalcontrol{margin-top:8px}.margin4minterminal{margin-top:50px}.downbtn a,.exportbtn a{color:#fff}.exportbtn{padding:2px 4px!important}.divlist{margin-bottom:5px}.nopadding{padding-right:0!important}.noallpadding{padding:0!important}#divAddQCMCompositionLine{margin-top:10px!important}.msgTargetBox{font-size:12px;padding:0 5px 0 10px;border:1px solid #dadada;max-height:130px;overflow-y:auto}.msgTargetBox .checkbox{margin:0!important}.textmarginbottom{margin-bottom:10px!important}.msgTargetBoxList{max-height:130px;overflow-y:auto}.msgTargetBoxList ul,.msgTargetBoxList .listgroup{margin-bottom:0}.selectcss button,.noformatedsel button{margin:0!important;padding:6px 12px!important;height:40px!important;border:1px solid #dadada!important;border-radius:0!important;color:#333!important;font-size:14px!important}#reportsms caption{text-align:left;color:#39B3D7}#reportsms td{padding:0 25px 0 0}.smsinfo{color:#39B3D7}.infobox span{cursor:pointer;padding:5px;border-radius:2px;background-color:#cff4fc;border-color:#b6effb;color:#055160!important}.prtinfoboxs{padding-right:15px;padding-left:15px}.prtinfoboxs table thead{background-color:#cff4fc;color:#055160}.smslistbox{max-height:500px;overflow-y:auto}.diveditprofile{padding-top:15px}.tdobjhead{width:100%}.righttd{display:block;padding-right:10px;text-align:right}.righttd img{float:right}.bottomtd{text-transform:capitalize;font-size:small;vertical-align:bottom}.HLelt{font-size:18px;color:#222}.MLelt{font-size:16px;color:#fff}.SLelt{font-size:14px}.Ctelt{font-size:12px;color:#222}.BHelt{font-size:18px;color:#fff!important}.BNelt{font-size:18px}.divObjBox table{width:100%}.divObjBox table tr td{vertical-align:bottom}.tdalignright{padding-left:10px;text-align:right}.mystdtodofilesbox{margin:10px -15px -15px -15px!important;padding-bottom:10px;padding:10px 20px}.mystdtodofiles ul{padding:0;margin:0}.mystdtodofiles ul li{list-style:none}.objfilesbox{margin:15px -15px -15px -15px!important;padding:10px 0;background-color:#f5f5f5;border-top:1px solid #e5e5e5}.objfilesbox .filelistdiv{margin:0 20px 0 20px}.filelistdiv div{margin:0!important}.divgreyfiles{background-color:#f5f5f5}.icorepnumb{display:inline-block;margin-left:2px;font-size:xx-small}.listgrpmember{overflow:auto}.listgrpmember tr td{vertical-align:bottom;padding-right:10px;line-height:16px}#grpmemberform{padding:0!important}.cssImgAvatarSize{font-size:3em}.cssImgProfileSize{font-size:2em}.objclasslist{margin-top:10px;word-wrap:break-word}.objlistelt{padding-left:0}.objlistelt li{list-style:none;margin-top:10px}.objseenlist{margin-left:15px;padding:0}.objseenlist{border-collapse:collapse}.objseenlist tr td{vertical-align:top}.objseenlist .dettable tr td{padding-right:5px;line-height:14px}.objseenlist .dettable .toptof{vertical-align:top}.divmedia{margin-bottom:10px}.alignleft{text-align:left!important}.aligncenter{text-align:center!important}.alignright{text-align:right!important}.delcompolinebtn{font-size:12px;color:#A94442;text-align:right!important;cursor:pointer}.divmedia .alignname,.padmedbody,.padmedbodyhead{font-size:12px}.padmedbodyhead{vertical-align:middle!important}.tdmediawidth{width:fit-content!important}.divmedia .media-det{margin:0;padding:0;text-transform:capitalize;font-size:10px;color:#ccc}.tblsch{margin-bottom:10px}.tblsch td{padding-right:10px;vertical-align:bottom}.listpadding{margin-left:10px}.objlistelt li{border-bottom:1px solid #eee}.objTitle{margin-bottom:10px}.box_mycontents .nbtodomvt{cursor:pointer}.box_mycontents .selmycontent{color:#664d03;background-color:#ffecb5}.topay_attention{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb;padding:0 5px;margin:0 0 10px 0}.hrpadding{margin:10px -15px}.hrpadding2{margin:7px 0}.hrnonmargin{margin:0;margin-bottom:15px;margin-left:-15px;margin-right:-15px}.nobottom{margin-bottom:0}#divqcmaddbtn,#divqcmsavebtn,#divqcmdsavebtn{margin-top:-10px;margin-right:-5px}.qcmGroupManageBar{margin-bottom:10px}.qcmGroupManageBar select.qcmGroupSelectClass{max-width:250px;vertical-align:middle}.qcmGroupStemBox{background-color:#f5f7fa;border-left:3px solid #5bc0de;padding:8px 12px;margin-bottom:8px;border-radius:3px}.qcmGroupStemPreview{font-style:italic}.qcmquestlist>li.qcmGroupStemLi{display:flex;align-items:flex-start}.qcmquestlist>li.qcmGroupStemLi::before{content:counter(qcmBlock) ". ";flex:0 0 auto}.qcmquestlist>li.qcmGroupMemberLi{margin-left:0}.qcmQuestionActions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:2px 0 4px}.qcmQuestionActions .badge{display:inline-block;white-space:nowrap}.qcmquestlist{list-style:none}.qcmquestlist>li{counter-increment:qcmBlock}.qcmquestlist>li.qcmGroupMemberLi{counter-increment:none}.qcmquestlist>li.qcmGroupStemLi{counter-reset:qcmMember}.qcmquestlist>li>.smallTitle{padding-left:1.6em;text-indent:-1.6em}.qcmquestlist>li.qcmGroupStemLi>.qcmGroupStemBox{flex:1 1 auto;min-width:0}.qcmquestlist>li:not(.qcmGroupMemberLi)>.smallTitle::before{content:counter(qcmBlock) ". "}.qcmquestlist>li.qcmGroupMemberLi>.smallTitle::before{counter-increment:qcmMember;content:counter(qcmBlock) "." counter(qcmMember,lower-alpha) ") "}.qcmquestlist ol.qcmChoiceList{list-style:none;padding-left:1.6em;margin-left:0}.qcmquestlist ol.qcmChoiceList>li{padding-left:1.6em;text-indent:-1.6em}.qcmChoiceList>li::before{content:attr(data-code) ") "}.qcmGroupAddCheckBoxClass,.qcmGroupRemoveCheckBoxClass{margin-left:6px;vertical-align:middle}.hrnopadding{margin:5px -15px}.hrqcm{margin:5px -15px 20px -15px}.hrnopaddingtab{margin:5px -15px 10px -15px}#boxQCMList ul{list-style:none;padding:0;padding-left:17px;margin-left:0}#boxQCMList ul li,#boxQCMList ol li{line-height:20px}.divlistclasses{margin-bottom:10px}.padmedia{margin:0;color:#777}.margindivclear{margin-bottom:10px}.lineheight{padding:10px 0;padding-right:5px;color:#777;cursor:pointer;background-color:#f5f5f5;line-height:32px;vertical-align:middle}.divusrprofile{max-width:200px}.foruminfoheadHome{height:45px;font-size:11px!important;text-transform:lowercase;overflow:scroll}.foruminfohead{font-size:11px!important;text-transform:lowercase}.padmedbodyhead p:first-letter{text-transform:uppercase}.foruminfo{font-weight:700;text-transform:capitalize}.phtrghtpad{padding-right:10px}.textinleft{text-align:left}.textinright{text-align:right}.media{margin-top:15px}.media-left,.media-right{display:table-cell;vertical-align:top}.media-body{display:table-cell;vertical-align:bottom}.media-left,.media>.pull-left{padding-right:7px}.media-right,.media>.pull-right{padding-left:5px}.media-object{display:block}.media,.media-body{overflow:hidden;zoom:1}.media{line-height:1.42857143}.arrMenu{text-transform:none!important;border-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.arrMenu li:hover{background-color:#f5f5f5}.datepicker table tr td{line-height:1.428571429!important}.icondist{padding-left:5px}.upperText{text-transform:uppercase!important}.staffQCMDetailsList{list-style:none}.smallContent{font-size:x-small;font-weight:400}.smallContent2{font-size:small;font-weight:400}.uppertext{text-transform:uppercase!important}.qcmBadSolutionColor{color:#A94442;font-weight:700}.qcmGoodSolutionColor{color:#47A447;font-weight:700}.qcmEndRecap .qcmRcp1{font-size:22px}.qcmEndRecap .qcmRcp2{font-size:28px}.qcmEndRecap .qcmRecap3{margin:15px;background-color:#f7f7f7}.qcmRecap3{padding-left:5px}.qcmEndRecap .qcmRecap3 li{text-align:center;margin:5px 0;padding:20px;list-style:none}.bleft{border-left:1px solid #ddd}.bright{border-right:1px solid #ddd}.nolist{padding:0!important}.qcmStatVal{font-size:16px;font-weight:lighter}.qcmEndRecap .qcmRecap3 caption{font-size:14px;font-weight:700}.qcmEndRecap22 .qcmRcp1{font-size:14px}.qcmEndRecap22 .qcmRcp2{font-size:18px}.qcmEndRecap22 .qcmRecap3{margin:5px;background-color:#f7f7f7}.qcmEndRecap22 .qcmRecap3 li{text-align:center;padding:5px 15px 5px 5px;list-style:none}.qcmStatVal22{font-size:14px;font-weight:700}.qcmEndRecap22 .qcmRecap3 caption{font-size:14px;font-weight:700}.qcmOrangeColor{color:#fd9c3b}.qcmRedColor{color:#f83847}.qcmBlueColor{color:#2ac1e5}.normTab{font-size:12px}.normTab tr{vertical-align:middle}.tdcenter{text-align:center}.tdright{text-align:right}.tdleft{text-align:left}.marginBox{margin:5px 0;background-color:#f5f5f5;padding:7px 5px}.marginBox label{padding:0 5px;color:#222}.marginBox span{margin-left:5px}.smallbtn{padding:7px;font-size:12px}.nopleft{padding-left:0!important}.timerQCM{font-size:16px;font-weight:700}ul ul,ol ol{margin-top:0;margin-bottom:10px}.fileuploadinstruction{padding:5px 10px;color:#777;background-color:#fff8c4;border:1px solid #f7dda7}.fileuploadinstruction h5{font-weight:700}.colwar{color:#cc9b5c}.icontestimonoial{font-size:70px}#sltSchools{background-color:#fbfbfb}.bold{font-weight:700}.treattd{padding:0 0 10px 40px}.treattd p{font-weight:700}.treattd form{margin-bottom:10px}.notifnb{background-clip:padding-box;display:inline-block;line-height:1.3;min-height:13px;background-color:#fa3e3e;color:#fff;border-radius:2px;padding:1px 3px;margin-left:-1px}.bbdopts{cursor:pointer;padding:10px}.annparams{font-size:12px;color:#aaa;text-transform:lowercase}.annparams span{color:#777}.annparams i.fa-arrow-right{padding:5px}.annparams i.fa-minus{padding:10px}.cnxusrname{line-height:12px!important}.qcmquestlist{padding-left:8px;margin-left:15px;margin-top:10px;line-height:18px}.qcmquestlist>li{padding-left:0;margin-left:0}.qcmquestlist ol{padding-left:15px;margin-left:0}.qcmquestlist ol li{margin-left:0;padding:2px 0}.darkheader{background-color:#0073b1!important;color:#ffffff!important}.schvwbox{background-color:#f5f8fa}.infoshclasses{font-size:12px}#qcmContentZone .divonglet{max-height:400px;overflow:auto}.boxMaxHeight{max-height:1000px;overflow:auto}.ctimeqq{margin-right:0!important;padding-right:0!important}.ctimemodeqq{margin-left:0!important;padding-left:0!important}.timeqq{text-align:right;padding-right:5px;border-right:none;border-radius:4px 0 0 4px}.timemodeqq{text-align:left;padding-left:0;background-color:#f7f7f7;border-left:none;border-radius:0 4px 4px 0}.timelightL{border-radius:4px 0 0 4px}.timelightM{border-radius:0}.timelightR{border-radius:0 4px 4px 0}.quesansexplainbox,.quesanshintbox{padding:5px;padding-top:0!important;margin-bottom:15px;font-size:12px}.quesansexplainbox{border:1px solid #59B959}.quesanshintbox{border:1px solid #9F6000}.quesansexplainbox i,.quesanshintbox i{font-size:14px!important}.quesansexplainbox p,.quesanshintbox p{margin:0;padding:0}.quesansexplainbox_text,.quesanshintbox_text{padding:0 5px!important;background-color:#f5f5f5}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.noheight{padding-left:0!important}.nopadcoin{padding-left:0px!important;padding-right:0px!important}.warningHeader{color:#8a6d3b!important;background-color:#fcf8e3!important;border-bottom:1px solid #faebcc}.table tr td{vertical-align:middle!important}.table tr th{vertical-align:middle!important}.selQCMClassBox{font-size:12px!important}.selQCMClassBox select{height:26px!important;padding:3px 6px;font-size:12px!important}.hr10{margin-top:10px!important;margin-bottom:10px!important}.titlemar{margin:10px 0;color:#0073b1}#subscribe>h3{color:#0073b1}.renew_year fieldset{margin-bottom:0px!important}.renew_year fieldset legend{font-size:16px!important;background-color:#f5f5f5;padding-left:15px;margin-bottom:5px!important}.renew_year fieldset label{color:#333!important;padding-left:15px}.renew_year fieldset label span{font-size:12px!important}.renew_year textarea{margin-left:15px}.boxSubtitle{font-size:16px;color:brown}.stdfailedlist{font-size:12px}.stdfailedlist li{line-height:18px}.msgBox{font-size:12px}.msgBox .msgBoxContent{border-top:1px solid #ffe484;border-bottom:1px solid #ffe484;margin-bottom:5px}.msgBox .msgBoxHead{padding:2px 8px;background-color:#ffe484;color:#444;line-height:18px!important;cursor:pointer}.msgBoxList{padding-left:0!important;margin-bottom:2px!important}.msgBoxList li{list-style:none}.msgBoxItem{padding:5px 0}.msgBoxItem .msgBoxItemHead{font-size:11px;line-height:14px}.msgBoxItem .msgBoxItemContent{padding:5px;background-color:#f5f5f5;color:#000;line-height:18px}.msgBoxNotAllowed{padding:10px!important;font-size:12px;line-height:12px;margin-bottom:2px!important}.logobic{vertical-align:bottom;padding-left:5px;color:#000;font-family:'Bad Script',cursive;font-weight:400;font-size:14px}.baniere_mini{margin:60px 0 0 0;padding:5px;background-color:#fdb913}.forum_subject_box_right .listSubHead{margin:8px -10px 0 -10px;padding:2px 5px;font-size:16px}.forum_subject_box_left{margin:0 -10px}.forum_subject_box_left .listSubHead{margin:8px 0 0 0;padding:2px 5px;font-size:12px;color:#fff;background-color:#f26522;border:1px solid #f26522}.forum_subject_box_left ul{margin:0;padding:0;max-height:300px;overflow-y:scroll!important}.forum_subject_box_left ul li{margin:0;padding:0;list-style:none}.dataignoretr{background-color:#f8d7da}.dataignoretr td{color:#222}.dataignoretd{background-color:#a94442;color:#f2dede!important}.dataignoretrNB{color:#721c24!important}.singupbloc{padding:0}.singupbloc p{text-align:center}.btn3B{display:inline-block;padding:0 5px;background-color:#8dc63f;border-color:#8dc63f;text-decoration:none;color:#fff;border-radius:4px}.btn3B:hover{color:#fff;background-color:#47a447;border-color:#47a447}.intro_msg{font-size:22px;font-weight:300;color:#fff;margin:0 0 30px 130px}.btn3BSch{display:inline-block;padding:2px 5px;background-color:#f26522;border-color:#f26522;text-decoration:none;color:#fff;border-radius:4px}.btn3BSch:hover{color:#fff;background-color:#f26522;border-color:#f26522}.btn3BSchlink{color:#8dc63f!important;white-space:nowrap}.btn3BSchnormallink{white-space:nowrap}#sch_bbdcontents_btn,#my_schnews_btn,#my_contents_btn,#my_timetable_btn{white-space:nowrap}.box_mycontents{overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.classonglet li a{white-space:nowrap}.grpmemberlist_title{font-size:16px;margin-top:10px}.grpformtitle{font-size:16px;margin-bottom:10px}.tablelistsubject thead th{white-space:nowrap;text-transform:none!important;color:#333!important}.infinvue{text-align:center;color:#39B3D7}.keeptogether{white-space:nowrap}.center_text{text-align:center!important}.classdesc{margin-left:10px;margin-top:5px;padding:5px;border:1px solid #ddd}.classcode{color:#555}#setclcBtn{padding-right:10px}.hidden{visibility:hidden}.haveaccounttext{margin-bottom:5px;padding:5px 10px 5px 5px;background-color:#f5f5f5}.haveaccounttext p{font-size:16px;text-align:right}.boxusrname{color:#262626;margin-bottom:12px}.logout a{color:#777;text-transform:none}.tooltip3B{position:relative;display:inline-block;border-bottom:1px dotted #000}.tooltip3B .tooltiptext{visibility:hidden;width:120px;background-color:#555;color:#fff;text-align:center;padding:5px 0;border-radius:6px;position:absolute;z-index:1;bottom:125%;left:50%;margin-left:-60px;opacity:0;transition:opacity 0.3s}.tooltip3B .tooltiptext::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 #fff0 #fff0 #fff0}.tooltip3B:hover .tooltiptext{visibility:visible;opacity:1}.boximportant{text-align:right;padding-bottom:5px;margin-bottom:5px}.shclassp{font-size:1.1em;margin:0 0 5px 0}.audienceList{max-height:275px;padding:0 5px 0 0;overflow:auto;border:1px solid #ddd}.audienceList table{margin-bottom:0!important}.checkallbtn{margin-right:10px}.tab-btn-explain{border-collapse:separate}.tab-btn-explain tr{vertical-align:middle}.tab-btn-explain tr td{font-size:11px;line-height:12px;padding:5px}.tab-btn-explain .td-btn-exp{text-align:right}.tab-btn-explain .td-btn-exp span,.tab-btn-explain .td-btn-exp button{font-size:11px!important}.backyellow{background-color:#fcf8e3!important}.coursecontentborder{padding-left:0;border-right:2px solid #eee}.coursesharebox{padding-right:0}.messagecontentborder{padding-left:0}.messagesharebox{padding-right:0;border-left:2px solid #eee}.modal-header-min{padding:15px 15px 0 0}.specialty_input{width:330px!important}.centertd{text-align:center}.linkedobjlist{padding-left:0}.linkedobjlist li{list-style:none}.contentlinkline{border-color:#ddd!important}.hiddentext{color:transparent!important}.modal{overflow-y:scroll!important}.stdselcnx-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:0px;margin-bottom:15px}.stdselcnx-row .stdselcnx{margin-bottom:0}.stdselcnx{margin-bottom:15px;margin-left:5px;margin-right:5px}.stdselcnx label{font-weight:700}.stdselcnx select{margin-right:15px;background-color:#f5f5f5}.list-group-horizontal .list-group-item{display:inline-block}.list-group-horizontal .list-group-item{margin-bottom:0;margin-left:-4px;margin-right:0;border-right-width:0}.list-group-horizontal .list-group-item:first-child{border-top-right-radius:0;border-bottom-left-radius:4px}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:4px;border-bottom-left-radius:0;border-right-width:1px}.multiselect-native-select .btn-default{font-size:17px;margin:0px!important;line-height:20px;padding:0px!important;height:fit-content!important;border:none!important;background:#fff0;transition:all 0.4s;color:#555;border-radius:0;border-color:transparent!important}.multiselect-native-select li{padding:0px!important;margin:0px!important}.multiselect-selected{color:#262626!important;text-decoration:none;background-color:#e9e9ed!important}.multiselect-native-select .dropdown-menu>.active>a{color:#262626!important;text-decoration:none;background-color:#e9e9ed!important}.multiselect-native-select .btn-success,.multiselect-native-select .btn-success:hover,.multiselect-native-select .btn-success:active,.multiselect-native-select .open>.dropdown-toggle.btn-success{color:#fff;background-color:#39B3D7!important;border:1px solid #ccc!important}.multiselect-native-select .input-group-btn{position:relative;font-size:0;white-space:nowrap;padding:0 5px;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:0 4px 4px 0}#nopadtable tr:hover,#nopadtableNT tr:hover{background-color:#f5f5f5!important}#nopadtableins tr:hover,#nopadtableNTins tr:hover{background-color:#f5f5f5!important}.warnborder{border:1px solid #ed9d45}.noyet{margin:10px 5px;padding:5px}#xs_dd_user_menu .arrMenu{min-width:160px;padding:5px 0;margin:2px 0 0;margin-top:2px;font-size:14px;text-align:left;list-style:none;-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:4px}#xs_dd_user_menu .divider{height:1px;margin:9px 5px 9px 5px;overflow:hidden;background-color:#e5e5e5}#xs_dd_user_menu .dropdown-header>li>a{padding:5px 15px 5px 25px}#xs_dd_user_menu .dropdown-header{color:#777!important;padding:3px 5px}#xs_dd_user_menu>ul>li>a{color:#333;line-height:20px;padding:5px 15px 5px 25px;display:block;padding:3px 5px;clear:both;font-weight:400;line-height:1.42857143;white-space:nowrap}.headerbluelinkmobile{padding:5px!important}.navbar-nav-xs{margin:7.5px -15px 0 -15px!important}#classes_container,#cursuses_container,#staff_container,.listHLimit{max-height:300px;overflow:scroll}#ulboxlist{padding:0 10px 0 0;max-height:300px;overflow:scroll}.emptyline{background-color:#eee!important}.multiselect-container{width:100%!important;max-height:300px!important;overflow:scroll auto!important}.smallbtn{font-size:12px!important}.compoQCMRecap{border:1px solid #ccc;padding:3px 10px;margin-bottom:10px}.isEmptyBadge{background-color:#ccc!important}.compoQCMRecap ul{margin-bottom:0!important}.homeactionbtn tr td{padding-right:15px!important}.qcmplacechoices{margin:0 0 5px 0}.qcmplaceboxchoices{padding:10px 0 0 0}#qcmbankcontener{text-align:center}#qcmfileactionsBtnBloc{margin:0 -15px;padding:10px 15px 0 15px;border-top:1px solid #eee}.grpmodechoicesbloc{padding:5px 10px;border:1px solid #ccc}.grpoptchoicesbloc{padding:5px;border:1px solid #ccc}.grpautoopt_box{text-align:center;border-top:1px solid #ccc}.useroptlist{list-style:none;padding:5px 0 0 0}.useroptlist li{display:inline;padding-right:0}.useroptlist li .grpactpadding{padding-right:10px}.qcmlink{color:#E059AA;cursor:pointer}.whitecolor{color:#fff!important}#stdinfosbox ul li{padding:3px 5px!important;margin:10px 0}#stdinfosbox ul .list-group{margin-bottom:0!important}.filegrptitle{padding:7px 3px 0 17px}.filegrplist li,.linkedobjlist li{padding-left:17px!important}.formValidation{margin-bottom:50px}.filegrptitlein{padding:0 0 0 3px;height:20px}.formEltLabel{font-weight:700}.switch{position:relative;display:inline-block;width:30px;height:17px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:"";height:13px;width:13px;left:2px;bottom:2px;background-color:#fff;-webkit-transition:.4s;transition:.4s}input:checked+.slider{background-color:#8DC63F}input:focus+.slider{box-shadow:0 0 1px #2196F3}input:checked+.slider:before{-webkit-transform:translateX(13px);-ms-transform:translateX(13px);transform:translateX(13px)}.slider.round{border-radius:17px}.slider.round:before{border-radius:50%}input:checked+.redbgslider{background-color:#A94442!important}.ai_gen_pending{background-color:#fff3cd;border:1px solid #ffecb5;border-radius:4px;color:#856404;font-style:italic;padding:8px 12px}.ai_gen_pending .fa-spinner{margin-right:4px}.qcmpublishedfileszone{margin-bottom:6px!important}.qcmpublishedfileslabel{margin-bottom:2px}.qcmpublishedfileslist{background-color:#f5f5f5;border:1px solid #ddd;border-radius:2px;padding:4px 8px}.qcmpublishedfileslist:empty{padding:0;border:none;background:none}.qcmpublishedfileslist .checkbox{margin:0!important;line-height:22px}.qcmpublishedfileslist .checkbox label{font-weight:400}#qcmAiValidatedCta{display:flex;align-items:center;justify-content:space-between;gap:10px}#qcmAiValidatedCta .btn{font-size:12px!important;padding:2px 8px!important;line-height:1.5!important;border-radius:3px!important;height:auto!important;margin:0!important;border-width:1px!important}

/* === Ajouts session Claude (mobile/boutons/responsive) - voir main_170624_1.css pour la version commentee/lisible === */
body {
    font-family: Arial, sans-serif
}

root {
    display: block
}

a,
i {
    cursor: pointer
}
blockquote {
  padding: 10px 20px !important;
  margin: 0 0 20px !important;
  font-size: inherit !important;
  border-left: 5px solid #eee !important;
}
.divpadding {
    padding-top: 40px
}

.iamtext {
    padding-right: 20px
}
.downlink {margin: 0 15px;text-align: right;}
.signinform {
    padding-bottom: 20px
}

.advertiseborder {
    padding: 0 10px;
    border: 1px solid #eee
}

.fontred {
    font-size: /*32*/24px
}

#babillarr_btn_div {
    margin: 0 0 5px 0
}

#babillarr_btn_div .box_mycontents {
    margin: 0 5px 0 0
}

.maincontainer {
    margin-top: 10px;
}

@media (max-width:320px){.maincontainer {margin: 60px 5px 0 5px;}}

#followersBox,
#studentsettings {
    margin-top: 10px
}
#xs_formparentfollow {
    margin-top: 10px;
    margin-right: 10px;
    margin-left: 5px;
}
#formparentfollow label, #xs_formparentfollow label {
    /*color: #664d03;
    font-weight: bold;*/
    padding-right: 5px;
}
#formparentfollow select, #xs_formparentfollow select {
    /*background-color: #fff3cd;
    color: #664d03*/
    border-color: #ffecb5;
}
.eltfilter {
    padding: 8px 5px 8px 10px;
    /*margin: 10px 5px 10px 10px;*/
    margin: 10px 5px;
    border: 1px solid #ddd;
    background-color: #f5f5f5
}
.eltfilterqcmbank {
    padding: 8px 5px 8px 10px;
    /*margin: 10px 5px 10px 10px;*/
    margin: 10px 0px;
    border: 1px solid #ddd;
    background-color: #f5f5f5
}

.eltfilter select, .eltfilterqcmbank select {
    background-color: #fbfbfb
}

.eltfilter label,
.eltfilter ul,
.eltfilterqcmbank label,
.eltfilterqcmbank ul {
    padding: 0
}

.eltfilter ul li, .eltfilterqcmbank ul li {
    list-style: none;
    padding-right: 2px
}

.eltfilter ul li select, .eltfilterqcmbank ul li select
.objsendbtn {
    border-radius: 0px!important
}

.filterchoicelist {
    margin: 0;
}
.distance_btn {
    margin: 0 0 5px 5px
}

.margin_box_btn {
    /*margin: 15px 0 0 10px;*/
    margin: 15px 0 0 5px;
    padding: 0
}

.objnewcss {
    /*margin-left: 8px*/
}

.objnewcssrg {
    margin-right: 8px
}

.objnewcss1 {
    margin-right: 5px
}

.objnewcss2 {
    margin-right: 30px
}

.prevBtn {
    border-radius: 4px 0 0 4px
}

.nextBtn {
    border-radius: 0 4px 4px 0
}

.pinBtn {
    border-radius: 4px 0 0 4px
}

.pinListBtn {
    border-radius: 0 4px 4px 0
}

#qcmpinlist {
    margin: 2px 0 0 0!important;
    padding: 0!important;
    min-width: 200px!important;
    border-radius: 0 0 4px 4px
}

#qcmpinlist li {
    padding: 0 5px
}

#qcmpinlist li:hover {
    background-color: #f5f5f5;
    cursor: pointer
}

#menuobj,
.infobtn {
    /*background-color: #c5b583!important;
    color: #fff;
    border: 2px solid #bfb081;*/
    text-transform: uppercase;
    background-color: #0073b1 !important;
    color: #ffffff !important;
    border: 1px solid #0073b1;
    border-radius: 0
}
.objactmenu li:hover {
    background-color: #0073b1;
    color: #ffffff;
}

.objnewcss li {
    text-transform: capitalize
}

.fontred48 {
    font-size: 42px
}

.font32 {
    font-size: 32px;
    font-weight: 700
}

.font32nml {
    font-size: 32px;
    font-weight: 400
}

.font24 {
    font-size: 24px
}

.font18 {
    font-size: 18px
}

.stafflist .staffbox {
    padding: 5px
}

#setting-list .margeboxtof {
    padding-bottom: 5px;
    margin-bottom: 10px;
    border-bottom: 1px solid #ddd
}

#setting-list .margeboxtof .divcontent {
    padding: 0!important
}

#setting-list .margeboxtof .contentrightalign {
    text-align: right
}

#setting-list li,
#infos-list li {
    list-style: none;
    padding: 10px 15px;
    border-bottom: 1px solid #ddd
}

#setting-list label,
#infos-list label {
    line-height: 48px
}

#ulboxlist li {padding: 10px 5px;}
#periods_container ul li:last-child,
#evals_container ul li:last-child,
#classes_container ul li:last-child,
#ues_container ul li:last-child,
#staff_container ul li:last-child {
    border: none
}

.icondistance {
    margin-left: 8px
}
.icondistance_saveico {
    margin-left: 10px;
    margin-right: 10px;
}

.signup-header .form-title {
    text-transform: uppercase
}

.course_view_item {
    padding: 0;
    margin: 10px 0 0 0;
    border: 1px solid #eee;
    border-radius: 4px
}

.course_view_item .course_aside_zone {
    padding: 0;
    margin: 0;
    text-align: center;
    text-transform: uppercase;
    background-color: #f5f5f5
}

.course_view_item .course_aside_zone .course_day {
    font-size: 1.2em;
    color: white;
    padding: 8px;
    border-radius: 4px 0 0 0;
    margin: -1px 0 0 -1px
}

.course_view_item .course_aside_zone .course_month {
    font-size: 1.2em;
    color: white;
    padding: 8px;
    background-color: #47A447;
    margin: -1px 0 0 -1px
}

.course_view_item .course_aside_zone .course_classlist {
    font-size: .8em;
    font-weight: 700;
    padding: 8px 3px;
    text-align: center;
    word-break: break-all;
    background-color: #fff
}

.course_xs_day,
.course_xs_month,
.course_xs_classlist {
    font-size: 1em;
    padding: 5px
}

.course_xs_day {
    color: white;
    border-radius: 4px 0 0 0
}

.course_xs_month {
    color: white;
    background-color: #47A447
}

.course_xs_classlist {
    background-color: #e1edf7;
    border-radius: 0 0 0 4px
}

.course_view_item .course_content_zone {
    padding: 0
}

.course_view_item .course_content_zone .head-course {
    padding: 8px
}

.course_view_item .course_content_zone .head-course .elthourdiv {
    padding: 0;
    margin: 0 0 5px 0;
    line-height: normal
}

.elthour {
    font-size: 12px;
    text-transform: lowercase !important; 
    color: #aaa
}
.elthour:first-letter {
    text-transform: capitalize;
}
.course_view_item .course_content_zone .course_ue {
    text-transform: uppercase;
    font-size: 1em
}

.course_view_item .course_content_zone hr {
    margin-top: 10px;
    margin-bottom: 10px
}

.course_title,
.course_resume,
.course_other {
    font-weight: 700;
    font-size: 1em
}

.download_title {
    font-size: 14px;
    font-weight: 700
}

.greenBg {
    background-color: #47a447;
    border-color: #47a447
}

.greenBg:hover {
    border: 2px solid #47a447;
    color: #fff
}
.validbtn {
    color: #fff !important;
    background-color: #ec971f !important;
    border-color: #d58512 !important;
    cursor: pointer;
}
.validstatus {
    color: #fff !important;
    background-color: #5cb85c !important;
    border-color: #398439 !important;
}
#userviewZone .classonglet {margin-left:5px;margin-right: 5px;}
.classonglet a {
    color: /*#25aae1*/#777 !important;
}

.classonglet > li.active > a {
    color: #0073b1 !important;
}
.nav_user_tab > li > a {color:#777 !important; white-space: nowrap;}
.nav_user_tab > li.active > a {color:#0073b1 !important;}

@media (max-width: 767px) {
    .nav-tabs.nav_user_tab {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .nav-tabs.nav_user_tab > li {
        float: none;
        flex: 0 0 auto;
    }
}
@media (max-width: 767px) {
    #menumin .navbar-backyard.in {
        max-height: calc(100vh - 60px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
}
.navbarprofile > h3 {color: #0073b1;}

.course_aspect_files {
    padding: 5px 8px;
    background-color: #D2E0E6
}

.course_aspect_files ul,
.course_files ul {
    margin: 0;
    padding: 0
}

.course_aspect_files ul li,
.course_files ul li {
    list-style: none;
    margin: 0;
    padding: 0
}

.colorjumbo {
    margin-bottom: 0;
    padding: /*10px*/0;
    padding-left: 40px;
    background-color: /*#e1edf7;#f8992f*/#f59300;
    /*background-image: url("../images/logobic.png");*/
}

.div_course_sapect {
    background-color: white
}

.course_aspect_head {
    clear: both;
    padding: 5px 8px
}

.info {
    color: #39B3D7
}

.rslicon {
    color: #5bc0de;
    font-weight: 400
}

.font35 {
    font-size: 3.5em
}

.course_aspect_div {
    background-color: #e1edf7
}

.nav_pill_contentbox {
    padding: 1px 0
}

.div_course_aspect {
    margin: 15px;
    background-color: #FFF
}

.aspect_date {
    float: right;
    color: white;
    padding: 0 5px;
    background-color: #39B3D7
}

.babillarr_btn_div {
    padding: 0;
    margin: 0
}

.babillarr_btn_div p {
    margin: 0;
    padding: 0
}

.marginbtn {
    margin: 0 10px 0 10px
}

.filecolor {
    color: #47A447!important
}

.shareclass {
    color: #39B3D7!important;
    cursor: pointer
}

.todouploadlink {
    text-align: center;
    margin: 0
}

.todofileiconsend {
    color: #47A447!important;
    cursor: pointer
}

.course_files ul li a,
.mystdtodofiles ul li a {
    color: #777!important
}

.specificdiv {
    margin-left: 10px;
    margin-right: 15px;
}

.specificdiv ul li {
    list-style: none
}

.specificdiv ul {
    margin: 0;
    padding: 0
}

.datelineinfo {
    color: #9F6000
}

.btndistance {
    margin-right: 15px
}

.objactbutton {
    display: inline-block;
    margin-left: 23px;
    padding-bottom: 10px
}

.course_files ul {
    padding: 0px 3px 3px 0px /*0*/
}

.infonbgrpmembers {
    color: #d79a10!important
}

.placeon {
    text-align: center;
    margin: 20px
}

.backwarn {
    border-radius: 4px 4px 0 0;
    background-color: #f8d7da;
    border-color: #f5c6cb
}

.backwarn a,
.alertinfo {
    color: #721c24!important
}

.backwarnmod {
    border-radius: 4px 4px 0 0;
    background-color: /*#fdf5ec*/#f7e68c;
    border-color: #ed9d45
}

.backwarnmod a {
    color: #514940 !important
}
.tabTitle, .logoempty {color: #0073b1}
.visitors_advice {
    font-style: italic;
    color: #A94442
}

.ai_generated_mention {
    font-style: italic;
    font-size: 0.85em;
    color: #8a8a8a;
    margin-top: 2px
}

.resulticondiv {
    margin-right: 10px
}

.noteclasstitle table {
    border-collapse: collapse;
    border: 1px solid #ccc;
    margin-bottom: 5px
}

.noteclasstitle table tr td,
.noteclasstitle table tr th {
    border: 1px solid #ccc;
    vertical-align: central;
    text-align: center;
    padding: 0 5px
}

.noteclasstitle table tr th {
    background-color: #f5f5f5;
    color: #777;
    font-weight: normal
    /*font-weight: 700*/
}

.noteclasstitle table tr {
    padding: 5px
}

.schoolabnlist {
    padding: 0;
    margin: 0;
    margin-left: 10px
}

.schoolabnlist li {
    list-style: none;
    padding: 0;
    margin: 0
}
.hintcolor {
    color: #9F6000;
    cursor: pointer
}
.bluelink {
    color: /*#3eb0f7*/#0073b1;
    cursor: pointer
}

.bluelinkmod {
    color: /*#3eb0f7*/#0073b1;
    cursor: pointer
}

.nomargelist {
    margin: 0;
    padding: 0
}

.nomargelistMat {
    margin: 0;
    padding: 0;
    padding-left: 18px;
}

.nomargelist li, .nomargelistMat li {
    margin: 0;
    padding: 0
}

.stdtodofilelist {
    margin: 0;
    margin-left: 10px;
    padding: 5px 0
}

.nofilefound {
    margin: 0
}

.nbtodomvt {
    color: #47a447;
    font-weight: 700
}

.nopadtabletd tbody tr td,
.nopadtabletd thead tr th {
    padding: 7px;
    vertical-align: middle;
    padding: 0
}

#nopadtable>table>tbody>tr td,
#nopadtable>table>thead>tr>th,
#nopadtable>table>tfoot>tr>th,
#nopadtableNT>table>tbody>tr td,
#nopadtableNT>table>thead>tr>th,
#nopadtableNT>table>tfoot>tr>th {
    padding: 5px;
    vertical-align: middle
}

#nopadtableins>table>tbody>tr td,
#nopadtableins>table>thead>tr>th,
#nopadtableins>table>tfoot>tr>th,
#nopadtableNTins>table>tbody>tr td,
#nopadtableNTins>table>thead>tr>th,
#nopadtableNTins>table>tfoot>tr>th {
    padding: 5px;
    vertical-align: middle
}

.schoolbox {
    padding-bottom: 5px;
    margin-bottom: 10px;
    margin-top: 15px;
    border-bottom: 1px solid #eee
}

.schoolbox .updown {
    margin-right: 5px
}

.schoolbox .schoollogo {
    margin-right: 5px
}

.schoolbox .schoolname {
    padding-top: 15px
}

.noteclasstitles .noteperiodtitle {
    padding: 10px 0
}

.seeheader {
    padding: 0 0 /*13px*/ 0 0;
    margin-bottom: /*15px*/ 0;
    /*border-bottom: 1px solid #EEE*/
}

.tabTitle span {
    font-size: 18px
}

#studentsettings li {
    padding: 10px 5px;
    margin: 10px 0;
}
.stdsettingsdiv {
    /*margin-bottom: 10px*/
}

.sltSchoolLabel {
    font-size: 22px;
    padding: 0;
    margin: 0;
    padding-bottom: 15px
}

.cursor {
    cursor: pointer
}

.filterue {
    padding: 3px
}

.headerbluelink {
    position: relative;
    display: block;
    padding: 10px 15px;
    color: #3eb0f7;
    cursor: pointer
}

.headerbluelinkmod {
    padding: 2px 5px;
    padding-left: 10px;
    color: #777;
    cursor: pointer;
    background-color: #f5f5f5
}

.navbarprofile {
    /*padding: 0!important*/
    padding: 0 3px !important
}

.noteclasstitles .schClassTitle {
    padding: 0 10px;
    margin: 10px 0 0 0;
    width: 100%;
    background-color: #39B3D7;
    color: #fff;
    /*text-transform: uppercase;
    font-weight: 700*/
}

.noactiontext {
    padding: 5px 10px;
    background-color: #eee;
    border-radius: 4px;
    border: 1px solid rgba(0,0,0,.196);
}

.noteclasstitles .schPeriodTitle {
    padding: 0;
    /*padding-bottom: 4px;
    border-bottom: 1px solid #47A447*/
}

.noteclasstitles .schPeriodTitle span {
    padding: 5px 10px;
    background-color: #47A447;
    color: #fff;
    /*padding: 10px;
    background-color: #47A447;
    color: #fff;
    text-transform: capitalize*/
}

.noteclasstitles .schEvalTitle {
    margin-top: 10px;
    /*text-transform: uppercase;*/
    color: #39B3D7;
    /*font-weight: 700*/
}

.noteclasstitles .noteevaltitle {
    padding-left: 10px;
    overflow: auto
}

.seemore, .seemorecourse, .seemoretodo {
    cursor: pointer;
    color: #39b3d7
}

.myresultzone {
    text-align: center
}

.myresultzone label {
    font-weight: 400
}

.tdtbstdtodolist tr td {
    vertical-align: central
}

.centerElt {
    text-align: center !important;
}

.stafflist li {
    list-style: none
}

.clearlink {
    color: #afd9ee
}

.dropdown-header {
    font-size: 14px
}

.resultloaderbox {
    margin-top: 10px
}

.noresult,
.nocontent {
    color: silver;
    font-size: small
}

.note-toolbar .btn-default,
.note-popover .btn-default {
    font-size: 13px;
    margin: 0;
    margin-right: 0;
    line-height: 1.5;
    padding: 5px 10px;
    height: 30px;
    border: 1px solid #CCC;
    background: #fff;
    transition: all 0.4s;
    color: #333;
    border-radius: 3px
}

.note-toolbar .btn-default:hover,
.note-toolbar .btn-default:focus,
.note-toolbar .btn-default:active,
.note-toolbar .btn-default.active,
.note-toolbar .open>.dropdown-toggle.btn-default {
    border: 1px solid #CCC;
    background: #F5F5F5;
    color: #333
}

.responsive-video {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 60px;
    overflow: hidden
}

.responsive-video iframe,
.responsive-video object,
.responsive-video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

/* 2026-08-29 : images de contenu riche (annonces/forum, voir renderRichContent()) - traitement "un peu
   dans le style des videos" (demande utilisateur) : contenu/pose plutot qu'une <img> brute, fond de
   secours visible pendant le chargement (loading='lazy') ou si l'image echoue a charger.
   2026-08-29 (correctif) : max-height/object-fit retires - une image PORTRAIT plafonnee en hauteur
   devient du coup bien plus etroite (ratio conserve), ne remplissant plus la largeur de la zone.
   2026-08-29 (correctif #2) : la classe "img-responsive" (deja posee sur le meme <img> par
   renderRichContent()) n'a JAMAIS ete definie nulle part dans ce fichier (grep confirme - une seule
   occurrence, dans CE commentaire) ni dans un autre CSS charge sur ces pages - probablement un reliquat
   Bootstrap 3 alors que l'appli tourne en Bootstrap 4 (.img-fluid). Resultat : sans max-height/object-fit,
   plus RIEN ne contraignait la taille -> images affichees en pleine resolution native (ex : une photo
   portrait/visage tres haute forcant un long scroll), signale par l'utilisateur avec captures a l'appui.
   2026-08-29 (correctif #3) : max-height reintroduit, mais avec un seuil genereux (800px, contre 480px
   au correctif initial) - confirme aupres de l'utilisateur (AskUserQuestion) : pleine largeur par defaut
   pour les images normales, plafond de hauteur uniquement pour les images demesurees (portrait/visage
   tres haute). width/height:auto + max-width/max-height ensemble = le navigateur applique la contrainte
   la plus stricte des deux, ratio toujours preserve (jamais de deformation). */
.richcontent-img {
    max-width: 100%;
    max-height: 800px;
    width: auto;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
    margin: 6px 0;
    background-color: #f5f5f5;
}
/* 2026-08-29 : meme effet responsive/pose que .richcontent-img ci-dessus, mais DANS l'editeur
   summernote lui-meme (creation/edition d'une annonce - ou de tout autre contenu riche partageant le
   meme editeur) - demande utilisateur : l'image doit deja avoir cet aspect pendant la redaction, pas
   seulement une fois l'annonce publiee et affichee via renderRichContent(). max-width:100% = le
   "responsive" (une image plus large que l'editeur se limitait auparavant a sa taille naturelle,
   debordant potentiellement) ; max-height:800px = meme plafond genereux que .richcontent-img (correctif
   #3 ci-dessus) ; le reste = meme pose (coins arrondis, ombre) que la vue finale. */
.note-editable img {
    max-width: 100%;
    max-height: 800px;
    width: auto;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
}

.cnx_error {
    padding: 12px 10px;
    font-size: 14px
}

.cnx_error .close {
    line-height: 5px
}

.editeltclass {
    color: #39B3D7
}

.deleltclass {
    color: #A94442
}

.undoeltclass {
    color: #f0ad4e
}

.fontFA {
    font-size: 22px
}

.fontFA18 {
    font-size: 18px
}

.fontFA14 {
    font-size: 14px
}

.wrongrollcode {
    padding: 10px;
    background-color: #f5f5f5
}

.help {
    text-align: justify
}

.inbold {
    font-weight: 700
}

.greenlink {
    color: #47A447;
    cursor: pointer
}

.greenicon {
    color: #47A447;
    cursor:default;
}

.pinklink {
    color: #E059AA;
    cursor:pointer;
}pinklink
.pinkicon {
    color: #E059AA;
    cursor:default;
}

#stdhelpbox ul.nav-pills {
    top: 210px;
    position: fixed;
    width: 160px
}

.helpmenu_nav {
    padding-left: 0
}

.help .red,
.staffhelp .red {
    color: #A94442
}

.red_color {
    color: #A94442
}

.yellow_color {
    color: yellow
}

.help .helpcaption,
.staffhelp .helpcaption {
    color: #3eb0f7
}

.iconbbr {
    color: #0AA59B;
    font-weight: 700
}

.staffhelp .helpmenu,
.help .helpmenu {
    padding: 5px;
    border: 1px solid #eee
}

.staffhelp .helpmenu ul,
.help .helpmenu ul {
    padding: 0;
    margin: 0
}

.staffhelp .helpmenu li,
.help .helpmenu li {
    padding: 0;
    margin: 0 5px 0 15px;
    list-style: circle;
    text-align: left
}

.staffhelp .helpmenu ul li,
.help .helpmenu ul li {
    padding: 0;
    list-style-type: none;
    list-style: square
}

.helpmenutitle {
    margin: 20px 0 10px 0;
    font-size: 22px
}

.helpbox {
    padding: 10px 0;
    border-bottom: 1px solid #ddd
}

.warning_color {
    color: #9F6000
}
.warning_box {
    background-color: #ec971f;
}

#posbtn {
    line-height: 45px
}

.course_view_item .asideblu {
    background-color: #39B3D7
}

.course_view_item .asideimportant {
    background-color: #FF9800!important
}

.important_color {
    color: #FF9800!important
}

.justifytext {
    text-align: justify
}
.mainactzone {margin-bottom: 8px;padding: 0 5px;}
.schprefix {
    display: none;
    padding: 2px 5px;
    margin-bottom: 5px;
    background-color: #f5f5f5;
    /*text-transform: uppercase;*/
    font-size: 12px;
    line-height: 14px;
    border: 1px solid #ddd
}

.schprefix .prefixclef {
    font-size: 12px!important;
    font-weight: 700;
    color: #47a447
}

.abnschlabel,
.abnclasslabel {
    cursor: pointer;
    text-transform: uppercase
}

.newform-header .newform-control {
    border-radius: 0;
    border: solid 1px #dadada;
    background-color: #fff;
    color: #333;
    height: 40px
}

.newform-header .newform-controlsm {
    border-radius: 0;
    border: solid 1px #dadada;
    background-color: #fff;
    color: #333;
    height: auto
}

.fileupl {
    margin: 0;
    padding: 0;
    list-style: square;
    font-size: 14px
}

.listleftpadding {
    padding-left: 20px;
}

.child_padding {font-style: italic;}

.noleftpadding {
    padding-left: 0
}
.norightpadding {
    padding-right: 0
}


.middleleftpadding {
    padding-left: 3px !important
}
.middlerightpadding {
    padding-right: 3px !important
}

.minleftpadding {
    padding-left: 5px !important
}
.minrightpadding {
    padding-right: 5px !important
}
.linequeslegend {border: 1px solid #39B3D7;  padding: 3px 10px;  margin: 10px 0;}
.linequeslegend b {color:#39B3D7}
.staffhelp ul li,
.staffhelp p,
.help ul li,
.help p {
    text-align: justify
}

.bbdEltList {
    margin: 0;
    padding: 0
}

.bbdEltList li {
    list-style: none
}

.popover {
    z-index: 1000001
}

.normalview table td,
.normalview table th {
    vertical-align: middle;
    padding: 5px!important
}

.vertbar {
    border-right: 1px solid #CCC
}

.smsoptionsbox h6 {
    margin-top: 3px!important
}

.noteTable th {
    background-color: #ececec
}

.flip-scroll_lg {
    overflow: auto
}

.flip-scroll_lg .noteTable td,
.flip-scroll_lg .noteTable th {
    text-align: left;
    vertical-align: middle;
    padding: 5px
}

@media only screen and (max-width:800px) {
    #no-more-tables table,
    #no-more-tables thead,
    #no-more-tables tbody,
    #no-more-tables th,
    #no-more-tables td,
    #no-more-tables tr {
        display: block;
        font-size: 14px
    }
    #no-more-tables thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px
    }
    #no-more-tables tr {
        border: 1px solid #ccc
    }
    /** FOR NOTE **/
    #no-more-tables .noteTable td {
        border: none;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 63%;
        white-space: normal;
        text-align: left;
        overflow: auto
    }
    #no-more-tables .noteTable td:before {
        position: absolute;
        top: 0;
        left: 0;
        padding-left: 6px;
        width: 60%;
        white-space: nowrap;
        text-align: left;
        overflow: auto;
        background-color: #f5f5f5
    }
    /** FOR OTHER **/
    #no-more-tables .listTable td {
        border: none;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 33%;
        white-space: normal;
        text-align: left;
        overflow: auto
    }
    #no-more-tables .listTable td:before {
        position: absolute;
        top: 0;
        left: 0;
        padding-left: 6px;
        width: 30%;
        white-space: nowrap;
        text-align: left;
        overflow: auto;
        background-color: #f5f5f5
    }
    /****/
    #no-more-tables td:before {
        content: attr(data-title)
    }
    /*#no-more-tables table th:nth-child(2),
    #no-more-tables table td:nth-child(2) {
        font-weight: 700
    }*/
    .no-more-tables table,
    .no-more-tables thead,
    .no-more-tables tbody,
    .no-more-tables th,
    .no-more-tables td,
    .no-more-tables tr {
        display: block;
        font-size: 14px
    }
    .no-more-tables thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px
    }
    .no-more-tables tr {
        border: 1px solid #ccc
    }
    .no-more-tables td {
        border: none;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 33%;
        white-space: normal;
        text-align: left;
        overflow: auto
    }
    .no-more-tables td:before {
        position: absolute;
        top: 0;
        left: 0;
        padding-left: 6px;
        width: 30%;
        white-space: nowrap;
        text-align: left;
        overflow: auto;
        background-color: #f5f5f5
    }
    .no-more-tables td:before {
        content: attr(data-title)
    }
    .stdrsltable table td {
        padding-left: 83%!important
    }
    .stdrsltable td:before {
        width: 80%!important
    }
    .noteclasstitle table, .noteclasstitle table tr td {border: 0 !important;}
}

.stdrsltable table th:nth-child(1),
.stdrsltable table td:nth-child(1) {
    font-weight: 400
}

.stdrsltable table th:nth-child(2),
.stdrsltable table td:nth-child(2) {
    font-weight: normal!important
}

.stdrsltable .notecaption {
    padding-left: 5px!important;
    text-align: center!important
}

table tr td.tdrightclass {
    border-right: 1px solid red
}

.course_files ul li a {
    font-size: 14px
}

label {
    font-weight: 400
}

.sm-progress-bar {
    width: 150px;
    height: 10px
}

.marginbtnbottom {
    margin-bottom: 15px
}

.margin_off_bottom {
    margin-bottom: 10px
}

.filesample {
    font-size: 14px
}

.files {
    padding-left: 15px !important;
}

.errorfile {
    color: #A94442
}

.specificdiv .specschzone {
    /*margin-left: -20px!important;*/
    font-size: 16px;
    font-weight: lighter
}

.specificdiv .goonmain {
    margin-top: /*10*/25px
}

.specificdiv .goonmain2 {
    margin-left: -20px!important;
    margin-top: 30px
}

.todotheme {
    text-align: justify;
    margin-bottom: 10px
}

.publicmsg {
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    margin: 0 0 5px 0;
    padding: 2px
}

.publicmsg p {
    color: #155724;
    font-size: small;
    padding-left: 3px
}

.privatemsg {
    background-color: /*#f8d7da*/#fff3cd;
    border: /*#f5c6cb*/1px solid #ffecb5;
    margin: 0 0 5px 0;
    padding: 2px
}

.privatemsg p {
    color: /*#721c24*/#664d03;
    font-size: small;
    padding-left: 3px
}

.alertprivatemsg {
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    margin: 0 0 5px 0;
    padding: 2px
}

.alertprivatemsg p {
    color: #721c24;
    font-size: small;
    padding-left: 3px
}

.archiveprivatemsg {
    background-color: #EED;
    /*border: 1px solid #f5c6cb;*/
    margin: 0 0 5px 0;
    padding: 2px
}

.archiveprivatemsg p {
    color: #777;
    font-size: small;
    padding-left: 3px
}

.configreport {
    background-color: #fcf8e3;
    border: 2px solid #faebcc;
    padding: 15px;
    margin: 0
}

.configreport .reportcontent {
    font-size: 14px;
    color: #8a6d3b
}

.configreport .iconhelp {
    padding: 10px 0 0 10px;
    color: #A94442
}

.configreport p {
    font-size: 14px;
    color: #8a6d3b;
    font-weight: 700
}

.configreport .reportcontent ul li {
    list-style: square
}

.tableintableinfo {
    width: 100%
}

.tableintableinfo td {
    padding: 5px 10px;
}

.tableintableinfo .tblfirsttd {
    width: 50%;
}

.stdmoreinfo {
    font-weight: 700
}

.trstdmoreinfo {
    background-color: #f5f5f5;
    padding-left: 5px;
    padding-right: 5px;
}

.studentlistbtnzone {
    padding: 5px !important;
    text-align: center !important;
}

.formstdinfotitle {
    font-size: 22px;
    padding-bottom: 5px;
    margin: 0 10px 10px 10px;
    border-bottom: 2px solid #DDD
}

.mainAppItem {}

#bbd_menu_status,
#docs_menu_status,
#forum_menu_status {
    color: /*#3eb0f7*//*#25aae1*/#0073b1 !important;
}

#forum_main_content {
    margin-left: -5px;
    margin-right: -5px
}

#forum_main_content li.nocontent {
    list-style: none
}

.forum_subject_box {
    margin-bottom: 10px;
    border: 1px solid #eee;
    background-color: #fff;
    border-radius: 0 0 15px 0;
}

.forum_subject_box_head {
    padding: 3px 5px 5px 5px;
    background-color: #F9F9F9;
    margin-bottom: 5px;
    /*border-bottom: 1px solid #ddd*/
}

.forum_subject_box_body {
    height: 100px;
    padding: 8px 5px;
    font-size: 12px;
    line-height: 14px;
    text-overflow: ellipsis;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    -o-hyphens: auto;
    hyphens: auto
}

.forum_subject_box_footer {
    margin: 2px 5px 4px 5px;
    /*padding: 2px 0 0 0;
    border-top: 1px solid #eee*/
}

.forum_subject_box_footer>div {
    margin: 0;
    padding: 0
}

.forum_subject_box_head .felttitle {
    margin-top: 5px;
    color: #283891;
    line-height: 1;
    height: 35px
}

.forum_subject_box_head .felttitle_3 {
    margin-right: 5px
}

.forum_subject_box_head .felttitle .felttitle_1 {
    font-size: 13px;
    font-weight: 700
}

.forum_subject_box_head .felttitle .felttitle_2 {
    font-size: 14px;
    font-weight: lighter
}

.forum_subject_box_head .felttitle .felttitledet_1 {
    font-size: 16px;
    font-weight: lighter;
    padding: 5px 0
}

.forum_subject_box_head .felttitle .felttitledet_2 {
    font-size: 13px;
    font-weight: lighter
}

.forum_subject_box_footer .feltfooter {
    margin-top: 5px;
    line-height: 13px
}

.forum_subject_box_footer .feltfooter .feltfooter_1 {
    font-size: 12px
}

.forum_subject_box_footer .feltfooter .feltfooter_2 {
    font-size: 12px
}

.forum_subject_box_footer .feltfooter .feltfooter_2 .forauthor {
    font-weight: 700;
    color: #283891
}

.forum_subject_box_footer .feltfooter_3 {
    margin-right: 5px
}

.content_subject_box {
    margin-bottom: 10px;
    background-color: #fff;
    border: 1px solid #eee;
    border-radius: 0 0 15px 0;
}

.content_subject_box_head {
    padding: 5px 10px;
    background-color: /*#FAFAFA*/#fff;
    /*border-bottom: 2px solid #eee*/
}

.content_subject_box_body,
.content_mod_subject_box_body {
    height: 100px;
    padding: 10px;
    font-size: 13px;
    line-height: 16px;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    -o-hyphens: auto;
    hyphens: auto;
    /*border-left: 1px solid #eee;
    border-right: 1px solid #eee*/
}

.content_subject_box_body .objInfo,
.content_mod_subject_box_body .objInfo {
    word-wrap: break-word;
    font-size: 14px;
    color: #5397a8;/*#555*/
    /*text-transform: uppercase;*/
}

.content_mod_subject_box_body {
    /*border-bottom: 1px solid #eee*/
}

.content_subject_box_footer {
    min-height: 33px;
    padding: 5px 10px 0 10px;
    /*border-left: 1px solid #eee;
    border-right: 1px solid #eee;
    border-bottom: 1px solid #eee;*/
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.content_subject_box_footer>div {
    margin: 0;
    padding: 0
}

.content_subject_box_footer>.clearfix {
    display: none;
}

.content_subject_box .content_subject_box_head .felttitle {
    color: white;
    line-height: 1;
    height: /*35px*/fit-content;
}

.content_subject_box_head .felttitle_3 span {
    display: block;
    color: #777;
    /*padding: 10px 10px 10px 30px;*/
    padding: 5px 0px 7px 30px;
    cursor: pointer
}

.content_subject_box_head .felttitle .felttitle_1 {
    /*padding-top: 10px;*/
    margin: -5px 0 0 -5px;
    padding: 5px;
    padding-right:10px;
    font-weight: 400;
    /*text-transform: capitalize;*/
    height: /*25px*/fit-content;
    width: fit-content;
}

.content_subject_box_head .felttitle .felttitle_2 {
    font-weight: lighter
}

.content_subject_box_head .felttitle .felttitledet_1 {
    font-size: 16px;
    font-weight: lighter;
    padding: 5px 0
}

.content_subject_box_head .felttitle .felttitledet_2 {
    font-size: 13px;
    font-weight: lighter
}

.content_subject_box_footer .feltfooter {
    margin-top: 5px;
    line-height: 13px
}

.content_subject_box_footer .feltfooter .feltfooter_1 {
    font-size: 12px
}

.content_subject_box_footer .feltfooter .feltfooter_2 {
    font-size: 12px
}

.content_subject_box_footer .feltfooter .feltfooter_2 .forauthor {
    font-weight: 700;
    color: #283891
}

.content_subject_box_footer .feltfooter_3 {
    vertical-align: bottom;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    white-space: nowrap;
}

.content_subject_box_footer .feltfooter_3 .objactbutton {
    margin-left: 13px;
}

.content_subsubject_box {
    /*border-left: 1px solid #eee;
    border-top: 1px solid #eee;
    border-right: 1px solid #eee;*/
}
.content_subsubject_box .content_subject_box_head {
    font-size: 14px;
    color: white;
    /*padding: 0 0 5px 10px;*/padding: 5px;
    border-bottom: 1px solid #ddd;
}

.eltschoolbox .objLeftPlace {
    padding: 0 5px 0 10px
}

.eltschoolbox .objCenterPlace {
    padding: 0 5px 0 10px
}

.eltschoolbox .objRightPlace {
    /*padding: 0 5px 0 10px*/
    padding: 0 5px
}

#divforumtable {
    margin-top: 10px
}

#divforumtable>table {
    padding: 10px 0;
    background-color: #EBEBEB
}

.orange3bschools {
    color: #F26522
}

.green3bschools {
    color: #8DC63F
}

.blue3bschools {
    color: #3eb0f7
}
.blue3bschools a {
    color: /*#25aae1*/#0073b1
}

.violet3bschools {
    color: #E059AA
}

.amber3bschools {
    color: #E0940A
}

.neutralbg {
    color: #777!important;
    background-color: #fff
}

.orangebg3bschools {
    color: #fff!important;
    background-color: #f26522
}
.orangeBdLR3bschools {
    border-color: #f26522 !important;
}
.orangeBdLR3bschools .content_subject_box_footer i:hover {
    color: #f26522 !important;
}

.greenbg3bschools {
    color: #fff!important;
    background-color: #59B959
}
.greenBdLR3bschools {
    border-color: #59B959 !important;
}
.greenBdLR3bschools .content_subject_box_footer i:hover {
    color: #59B959 !important;
}

.bluebg3bschools {
    color: #fff!important;
    background-color: #39B3D7
}
.blueBdLR3bschools {
    border-color: #39B3D7 !important;
}
.blueBdLR3bschools .content_subject_box_footer i:hover {
    color: #39B3D7 !important;
}

.violetbg3bschools {
    color: #fff!important;
    background-color: #E059AA
}
.violetBdLR3bschools {
    border-color: #E059AA !important;
}
.violetBdLR3bschools .content_subject_box_footer i:hover {
    color: #E059AA !important;
}

.amberbg3bschools {
    color: #fff!important;
    background-color: #E0940A
}
.amberBdLR3bschools {
    border-color: #E0940A !important;
}
.amberBdLR3bschools .content_subject_box_footer i:hover {
    color: #E0940A !important;
}


.warning_btn {
    color: #fff;
    background-color: #f0ad4e;
    border-color: #eea236
}

.warning_btn:hover {
    color: #fff;
    background-color: #ec971f!important;
    border-color: #d58512!important
}

.info_btn {
    color: #fff;
    background-color: #5bc0de;
    border-color: #46b8da
}

.info_btn:hover {
    color: #fff;
    background-color: #31b0d5!important;
    border-color: #269abc!important
}

.yellow_star {
    color: #ed9c28
}

.feltfooter_3 i {
    color: #aaa
}

.feltfooter_3 .objactbutton,
.qcm-question-action-icon {
    display: inline-block;
    padding: 8px;
    margin-top: -8px;
    margin-bottom: -8px;
}

.fontFA28 {
    font-size: 28px
}

.objactmenu {
    color: #555;
    border-radius: 0!important;
    line-height: 28px
}

.objactmenu li {
    padding: 0 10px;
    font-weight: 400;
    cursor: pointer
}

.objactmenu li .divider {
    padding: 0
}

.objactmenu li.disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.objactmenu li.disabled:hover {
    background-color: transparent;
    color: #555;
}

.bluestrong3bschools {
    color: #283891
}

.forum_main_title {
    color: #283891
}

.sm-marges {
    padding-left: 5px;
    padding-right: 5px
}

.forum_subject_box:hover {
    background-color: #FAFAFA;
    cursor: pointer
}

.content_subsubject_box:hover {
    background-color: #FAFAFA;
    cursor: pointer
}

.row-marges {
    margin: 0 -15px
}

.forum_subjectitem_box {
    margin: 2px 0px 5px 0px;
    border: 1px solid transparent;
    background-color: #fff;
    /*border-bottom: 2px solid #eee;*/
    border-radius: 0 0 15px 0;
    cursor: pointer;
}

.forum_subjectitem_box:hover {
    background-color: #FAFAFA;
}

.forum_subjectitem_box_head {
    padding: 5px;
    background-color: #FAFAFA
}

.forum_subjectitem_box_body {
    padding: 5px;
    font-size: 12px;
    line-height: 15px;
    word-wrap: break-word;
    max-height: 40px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}


.forum_reply_box {
    margin: 8px -10px;
    padding-bottom: 10px;
    border: 1px solid #ddd;
    background-color: #fff;
    border-bottom: 2px solid #eee
}

.forum_reply_box_head {
    padding: 5px;
    background-color: #FAFAFA
}

.forum_reply_box_body {
    padding: 0 5px;
    /*font-size: 12px;
    line-height: 15px;
    word-wrap: break-word;
    max-height: 40px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;*/
}

.forum_reply_box_head .replytexttitle {
    margin-top: 5px;
    color: #283891;
    line-height: 1
}

.forum_reply_box_head .replytexttitle .replytexttitle_1 {
    font-size: 14px;
    font-weight: 700
}

.forum_reply_box_head .replytexttitle .replytexttitle_2 {
    font-size: 12px;
    font-weight: lighter
}

.forum_reply_box_head .replytitle_3 {
    margin-right: 5px
}

.div_forum_reply_box {
    margin-right: -10px;
    margin-left: -10px
}

.hr_forum_reply_box {
    margin-right: -10px;
    margin-left: -10px;
    border-width: 2px
}

.forum_title {
    margin-left: -10px;
    margin-right: -10px
}

.forum_add_btn {
    margin-top: 20px
}

.forumfilter {
    margin: 6px 0px 10px 0
}

.btn_forsubject {
    background-color: #3eb0f7;
    border-color: #3eb0f7
}

.foricocolor {
    ;
    color: rgba(244, 102, 27, .5)
}

.foricocolor:hover {
    color: rgba(244, 102, 27, 1)
}

.forum_empty_answer {
    margin-left: -10px;
    margin-right: -10px;
    color: #CCC;
    font-size: 14px
}

.forum_subject_div_head {
    margin-left: -10px;
    margin-right: -10px;
    padding-bottom: 10px;
    border-bottom: 2px solid #eee
}

.forum_subject_div_head a {
    font-weight: lighter
}

.back_listmsg {
    font-size: 16px
}

.comcomment {
    padding: 0 5px;
    border-top: 1px solid #eee
}

.forumtitle {
    font-size: 1.4em
}

.addfilebtn {
    margin-top: 5px
}

.margeext {
    margin-bottom: 10px
}

#noteextractzone {
    margin-top: 10px;
    border-top: 1px solid #e5e5e5
}

#noteextractzone h5 {
    font-weight: lighter
}

.privForm h5 {
    color: #47A447
}

.privForm h6 {
    color: #3eb0f7
}

.formparentalcontrol {
    margin-top: 8px
}
.margin4minterminal {margin-top: 50px;}
/* EC options indented further under their UE optgroup header in the school-registration
   subject picker (#seluelist), so the group/child relationship reads like a nested list */
#seluelist + .btn-group .multiselect-container > li.multiselect-group label {padding-left: 20px;}
#seluelist + .btn-group .multiselect-container > li:not(.multiselect-group) > a > label {padding-left: 55px;}
.downbtn a, .exportbtn a {
    color: white
}
.exportbtn {
    padding: 2px 4px !important;
}
.divlist {
    margin-bottom: 5px;
}
.nopadding {
    padding-right: 0!important
}

.noallpadding {
    padding: 0!important
}
#divAddQCMCompositionLine {margin-top: 10px !important;}
.msgTargetBox {
    font-size: 12px;
    padding: 0 5px 0 10px;
    border: 1px solid #dadada;
    max-height: 130px;
    overflow-y: auto
}
.msgTargetBox .checkbox {
    margin: 0 !important;
}

.textmarginbottom {
    margin-bottom: 10px!important
}

.msgTargetBoxList {
    max-height: 130px;
    overflow-y: auto
}

.msgTargetBoxList ul,
.msgTargetBoxList .listgroup {
    margin-bottom: 0
}

.selectcss button,
.noformatedsel button {
    margin: 0!important;
    padding: 6px 12px!important;
    height: 40px!important;
    border: 1px solid #dadada!important;
    border-radius: 0!important;
    color: #333!important;
    font-size: 14px!important
}

#reportsms caption {
    text-align: left;
    color: #39B3D7
}

#reportsms td {
    padding: 0 25px 0 0
}

.smsinfo {
    color: #39B3D7
}

.infobox span {
    cursor: pointer;
    padding: 5px;
    border-radius: 2px;
    background-color: #cff4fc;
    border-color: #b6effb;
    color: #055160 !important
}

.prtinfoboxs {
    padding-right: 15px;
    padding-left: 15px
}
.prtinfoboxs table {
    
}
.prtinfoboxs table thead {
    background-color: #cff4fc;
    color: #055160; 
}

.smslistbox {
    max-height: 500px;
    overflow-y: auto
}

.diveditprofile {
    padding-top: 15px
}

.tdobjhead {
    width: 100%
}

.righttd {
    display: block;
    padding-right: 10px;
    text-align: right
}

.righttd img {
    float: right
}

.bottomtd {
    text-transform: capitalize;
    font-size: small;
    vertical-align: bottom
}

.HLelt {
    font-size: 18px;
    color: #222
    /*font-weight: 700;
    text-transform: capitalize;*/
}

.MLelt {
    font-size: 16px;
    color: #fff
    /*font-weight: 700;
    text-transform: capitalize;*/
}

.SLelt {
    font-size: 14px;
    /*font-weight: 700;
    text-transform: capitalize*/
}

.Ctelt {
    font-size: 12px;
    color: #222
    /*text-transform: capitalize;*/
}

.BHelt {
    font-size: 18px;
    color: #fff!important
}

.BNelt {
    font-size: 18px
}

.divObjBox table {
    width: 100%
}

.divObjBox table tr td {
    vertical-align: bottom
}

.tdalignright {
    padding-left: 10px;
    text-align: right
}

.mystdtodofilesbox {
    margin: 10px -15px -15px -15px!important;
    padding-bottom: 10px;
    padding: 10px 20px
}

.mystdtodofiles ul {
    padding: 0;
    margin: 0
}

.mystdtodofiles ul li {
    list-style: none
}

.objfilesbox {
    margin: 15px -15px -15px -15px!important;
    padding: 10px 0;
    background-color: #f5f5f5;
    border-top: 1px solid #e5e5e5
}

.objfilesbox .filelistdiv {
    margin: 0 20px 0 20px
}

.filelistdiv div {
    margin: 0!important
}

.divgreyfiles {
    background-color: #f5f5f5
}

.icorepnumb {
    display: inline-block;
    margin-left: 2px;
    font-size: xx-small
}

.listgrpmember {
    overflow: auto
}

.listgrpmember tr td {
    vertical-align: bottom;
    padding-right: 10px;
    line-height: 16px
}

#grpmemberform {
    padding: 0!important
}

.cssImgAvatarSize {
    font-size: 3em
}

.cssImgProfileSize {
    font-size: 2em
}

.objclasslist {
    margin-top: 10px;
    word-wrap: break-word
}

.objlistelt {
    padding-left: 0
}

.objlistelt li {
    list-style: none;
    margin-top: 10px
}

.objseenlist {
    margin-left: 15px;
    padding: 0
}

.objseenlist {
    border-collapse: collapse
}

.objseenlist tr td {
    vertical-align: top
}

.objseenlist .dettable tr td {
    padding-right: 5px;
    line-height: 14px
}

.objseenlist .dettable .toptof {
    vertical-align: top
}

.divmedia {
    margin-bottom: 10px
}

.alignleft {
    text-align: left !important
}

.aligncenter {
    text-align: center !important
}

.alignright {
    text-align: right !important
}

@media (max-width: 767px) {
    .modal-actions {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    .modal-actions .btn,
    .modal-actions > button,
    .modal-actions > span.btn {
        width: 100%;
        text-align: center;
        margin: 0 !important;
        float: none !important;
    }
}
.delcompolinebtn {font-size:12px;color: #A94442;text-align: right !important;cursor: pointer;}
.divmedia .alignname,
.padmedbody,
.padmedbodyhead {
    /*text-transform: capitalize;*/
    font-size: 12px
}

.padmedbodyhead {
    vertical-align: middle!important
}
.tdmediawidth {width: fit-content !important}
.divmedia .media-det {
    margin: 0;
    padding: 0;
    text-transform: capitalize;
    font-size: 10px;
    color: #ccc
}

.tblsch {
    margin-bottom: 10px
}

.tblsch td {
    padding-right: 10px;
    vertical-align: bottom
}

.listpadding {
    margin-left: 10px;
    /*padding: 0px 5px 5px 5px;*/
}
/*.listpaddingadapt {
    margin-left: 20px
}*/

.objlistelt li {
    border-bottom: 1px solid #eee
}

.objTitle {
    /*text-transform: uppercase;
    font-size: 12px*/
    margin-bottom: 10px;
}
/* 2026-08-29 : lien "Aller vers le forum (nbs-nbi)" a l'oppose du titre dans les modales de contenu
   (Cours/Devoir/QCM/Annonce/Sondage - demande utilisateur, voir getContentForumLinkZone()) */
.objtitle-row { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.objtitle-text { flex: 1 1 auto; min-width: 0; }
/* 2026-08-30 (demande utilisateur) : "Aller vers le forum" passe en puce pleine pour etre plus visible -
   reprend le bleu clair deja utilise pour le sujet actif dans le forum (.forumcenter-row-active), pas
   une nouvelle couleur - meme classe partagee par toutes les modales de contenu ET par "Poser une
   question", donc coherent partout ou ce lien apparait. */
.objtitle-forumlink { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 600; color: #0073b1; background-color: #eaf3fb; padding: 6px 12px; cursor: pointer; white-space: nowrap; }
.objtitle-forumlink:hover { background-color: #d6e8f7; }
/* 2026-09-04 : variante non cliquable (getContentForumLinkZone()) pour une personne non concernee par
   le contenu et non admin - le forum est desormais verrouille en lecture pour elle (voir
   getForumTargetContent()), donc plus de cursor pointer/hover ni cible onclick ; couleur neutre grisee
   pour marquer visuellement "information seule", jamais un controle actionnable. */
.objtitle-forumlink-readonly { cursor: default; color: #767676; background-color: #f2f2f2; }
.objtitle-forumlink-readonly:hover { background-color: #f2f2f2; }
/* 2026-09-04 : "Diagnostic de configuration" (menu Configurations, Phase 1 assistant IA) - une section
   par controle en anomalie, meme convention visuelle que le reste du panneau Configurations */
.configdiag-check { margin-bottom: 16px; padding: 10px 12px; background: #fff8ec; border: 1px solid #f0e2bb; border-radius: 4px; }
.configdiag-check-title { font-weight: 600; margin-bottom: 4px; }
.configdiag-check-symptom { color: #767676; font-size: 12px; margin-bottom: 8px; }
/* 2026-09-07 : "Paiements en ligne" (menu Configurations) - un bloc-carte par moyen de paiement
   autorise, pour que le titre + l'interrupteur + les champs d'identifiants + le bouton Enregistrer
   se lisent comme un seul ensemble (retour utilisateur : le formulaire ne semblait pas rattache au
   titre du provider au-dessus) */
.paymentconfig-provider { margin-bottom: 18px; }
.paymentconfig-provider-inner { padding: 14px 18px 18px; background: #f8f9fa; border: 1px solid #e0e0e0; border-left: 3px solid #f0ad4e; border-radius: 4px; }
.paymentconfig-provider-inner h4 { margin-top: 0; margin-bottom: 10px; }
/* case a cocher "Activer..." - flex plutot que le pattern Bootstrap .checkbox (mal aligne ici en
   pratique, retour utilisateur 2026-09-07 : decalage vertical entre la case et le libelle) */
.paymentconfig-enable-label { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-weight: 600; cursor: pointer; }
.paymentconfig-enable-label input[type="checkbox"] { margin: 0; }
/* statut des identifiants - le style change selon que le moyen de paiement est actif ou non ET
   configure ou non (retour utilisateur 2026-09-07 : un moyen active SANS identifiants doit attirer
   l'oeil, pas juste etre une note discrete) */
.paymentconfig-status { padding: 8px 12px; border-radius: 4px; font-size: 13px; margin: 0 0 14px; }
.paymentconfig-status-muted { color: #767676; padding: 0; background: none; }
.paymentconfig-status-warning { background: #fff3cd; border: 1px solid #ffe08a; color: #7a5b00; }
.paymentconfig-status-active { background: #e6f4ea; border: 1px solid #b7e1c1; color: #1a7f37; }
/* espacement compact, explicite plutot que de dependre de la cascade Bootstrap ambiante (ecart bien
   trop grand constate en pratique entre chaque label et son champ, retour utilisateur 2026-09-07) */
.paymentconfig-provider-inner .form-group { margin-bottom: 10px; }
.paymentconfig-provider-inner .form-group label { display: block; margin: 0 0 4px; font-size: 13px; color: #555; font-weight: 600; }
.paymentconfig-provider-inner .form-control { height: 34px; padding: 6px 10px; margin: 0; }
.paymentconfig-msg { margin-left: 10px; font-size: 13px; }
/* 2026-09-07 : "Bareme des frais de scolarite" - une carte par periode, meme langage visuel que les
   cartes .paymentconfig-provider-inner ci-dessus (retour utilisateur : regrouper par periode, avec
   la meme presentation soignee que l'ecran des moyens de paiement) - accent bleu plutot qu'orange
   pour distinguer visuellement les 2 types de regroupement au premier coup d'oeil */
.feeschedule-period-group { margin-bottom: 18px; }
.feeschedule-period-inner { padding: 14px 18px 10px; background: #f8f9fa; border: 1px solid #e0e0e0; border-left: 3px solid #337ab7; border-radius: 4px; }
.feeschedule-period-inner h4 { margin-top: 0; margin-bottom: 10px; }
.feeschedule-rows { margin: 0; padding: 0; list-style: none; }
.feeschedule-rows li { padding: 6px 0; border-top: 1px solid #e6e6e6; }
.feeschedule-rows li:first-child { border-top: none; }
/* 2026-09-07 : modale "Frais de scolarite" (parent/etudiant) - retour utilisateur : premiere version
   trop plate (liste texte brute) - meme langage de carte que les 2 ecrans admin ci-dessus, un accent
   vert (aspect "paiement/argent") pour la distinguer des cartes bleue/orange deja utilisees */
.feepay-modal { display: flex; flex-direction: column; gap: 12px; }
.feepay-changeschool-btn { display: inline-block; font-size: 13px; color: #767676; margin-bottom: 4px; }
.feepay-changeschool-btn:hover { color: #333; text-decoration: none; }
.feepay-providerbar { padding: 12px 16px; background: #f8f9fa; border: 1px solid #e0e0e0; border-radius: 4px; }
.feepay-providerbar .form-group:last-child { margin-bottom: 0; }
.feepay-period-card { padding: 14px 18px; background: #f8f9fa; border: 1px solid #e0e0e0; border-left: 3px solid #28a745; border-radius: 4px; }
.feepay-period-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.feepay-period-label { font-weight: 600; font-size: 15px; }
.feepay-badge { display: inline-block; padding: 2px 10px; border-radius: 10px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .3px; }
.feepay-badge-muted { background: #eee; color: #767676; }
.feepay-badge-pending { background: #fff3cd; color: #7a5b00; }
.feepay-badge-active { background: #e6f4ea; color: #1a7f37; }
.feepay-badge-failed { background: #fdecea; color: #c0392b; }
.feepay-amount { font-size: 20px; font-weight: 700; color: #222; margin-bottom: 10px; }
.feepay-waiting.hidden { display: none; }
.feepay-waiting { margin-top: 8px; font-size: 13px; color: #767676; }
.feepay-school-card { display: block; padding: 14px 18px; margin-bottom: 10px; background: #f8f9fa; border: 1px solid #e0e0e0; border-left: 3px solid #337ab7; border-radius: 4px; color: #333; }
.feepay-school-card:hover { background: #eef3f8; text-decoration: none; color: #222; }
.feepay-school-card i.pe-7s-study { margin-right: 8px; }
/* 2026-08-30 : lien "Aller vers le forum" dans la modale "Poser une question" (getForumNewSubject.php/
   vNewForumSubjectForm.html) - place au-dessus du theme, aligne a droite (demande utilisateur) */
.forumnewsubject-linkrow { text-align: right; }

.box_mycontents .nbtodomvt {
    /*text-transform: uppercase;
    font-size: 12px;*/
    cursor: pointer
}

.box_mycontents .selmycontent {
    color: #664d03;
    background-color: #ffecb5;
    /*color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb*/
}

.topay_attention {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
    padding: 0 5px;
    margin: 0 0 10px 0;
}

.hrpadding {
    /*margin-left: -15px;
    margin-right: -15px;*/
    margin: 10px -15px;
}

.hrpadding2 {
    margin: 7px 0px;
}

.hrnonmargin {
    margin: 0;
    margin-bottom: 15px;
    margin-left: -15px;
    margin-right: -15px
}
.nobottom {
    margin-bottom: 0px;
}

#divqcmaddbtn,
#divqcmsavebtn,
#divqcmdsavebtn {
    margin-top: -10px;
    margin-right: -5px
}

.qcmGroupManageBar {
    margin-bottom: 10px;
}
.qcmGroupManageBar select.qcmGroupSelectClass {
    max-width: 250px;
    vertical-align: middle;
}
.qcmGroupStemBox {
    background-color: #f5f7fa;
    border-left: 3px solid #5bc0de;
    padding: 8px 12px;
    margin-bottom: 8px;
    border-radius: 3px;
}
.qcmGroupStemPreview {
    font-style: italic;
}
/* the group stem is a <li> inside the question <ol> purely for DOM placement - display:flex takes it out
   of the browser's native list-item marker entirely (only display:list-item participates in that), and lets
   the number sit as a flex item OUTSIDE/before the description box - not inside its bordered/shaded
   background - matching how the plain-text numbers look for every other question. Only the numbered
   description itself is shown here - no separate name/button row. */
.qcmquestlist > li.qcmGroupStemLi {
    display: flex;
    align-items: flex-start;
}
.qcmquestlist > li.qcmGroupStemLi::before {
    content: counter(qcmBlock) ". ";
    flex: 0 0 auto;
}
/* member questions sit in the SAME column as their group's description (no extra indentation) - only
   their numbering (1.a, 1.b...) marks them as belonging to the group, see below */
.qcmquestlist > li.qcmGroupMemberLi {
    margin-left: 0;
}
/* the answer badge, the time/mark info, and the action buttons (edit/delete icons, group add/remove
   checkboxes) share one row right after the question text, not embedded inline within its hanging-indented
   flow - laid out with flexbox so all three display cleanly side by side instead of wrapping awkwardly.
   The badge/smallContent spans keep their own natural (content-driven) size - nothing here constrains
   their width, so a longer answer-code string still renders as a properly sized pill, not a clipped dot. */
.qcmQuestionActions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 2px 0 4px;
}
.qcmQuestionActions .badge {
    display: inline-block;
    white-space: nowrap;
}

/* --- custom numbering: standalone questions and group blocks share one flat counter (qcmBlock), rendered
   on the group's description; group members are numbered as <group-number>.<letter> (a, b, c...) via a
   second counter (qcmMember) that resets at each new group, instead of continuing the flat sequence
   themselves. This numbering applies ONLY to questions within a group, never to answer choices (below).
   qcmBlock's start offset is seeded inline per <ol> (see the "counter-reset: qcmBlock N" style emitted
   alongside start="" in appTools/bbdTools.php) to match the existing tab-pagination numbering offset. */
.qcmquestlist {
    list-style: none;
}
.qcmquestlist > li {
    counter-increment: qcmBlock;
}
.qcmquestlist > li.qcmGroupMemberLi {
    counter-increment: none;
}
.qcmquestlist > li.qcmGroupStemLi {
    counter-reset: qcmMember;
}
/* hanging indent: the number stays put but wrapped continuation lines of the question text align under
   where that text STARTS, not back under the number - reserved width is approximate (varies with how wide
   the actual counter text ends up), but comfortably fits typical "N." / "N.a)" labels. The group description
   doesn't need this trick - its number is now a flex sibling (see .qcmGroupStemLi above), so the box's own
   text just wraps naturally within the box, already excluding the number. */
.qcmquestlist > li > .smallTitle {
    padding-left: 1.6em;
    text-indent: -1.6em;
}
.qcmquestlist > li.qcmGroupStemLi > .qcmGroupStemBox {
    flex: 1 1 auto;
    min-width: 0; /* allow the box to shrink/wrap instead of overflowing the flex row */
}
.qcmquestlist > li:not(.qcmGroupMemberLi) > .smallTitle::before {
    content: counter(qcmBlock) ". ";
}
.qcmquestlist > li.qcmGroupMemberLi > .smallTitle::before {
    counter-increment: qcmMember;
    content: counter(qcmBlock) "." counter(qcmMember, lower-alpha) ") ";
}

/* --- answer choices show ONLY their own inherent code (data-code, whatever style the quiz data already
   uses - letter, digit, etc.) - no question/group prefix compounded in, per explicit request. The choice
   list's own left edge is pulled in to align with where the question's TEXT starts (not further indented
   past that), and each choice gets its own hanging-indent treatment for wrapped text. */
.qcmquestlist ol.qcmChoiceList {
    list-style: none;
    padding-left: 1.6em;
    margin-left: 0;
}
/* .qcmquestlist ol.qcmChoiceList (2 classes + 1 type) needed here, not just ".qcmChoiceList > li", to
   outrank the pre-existing ".qcmquestlist ol li { padding: 2px 0; }" rule (1 class + 2 types) - otherwise
   that rule's shorthand silently zeroes this padding-left back out while leaving text-indent untouched,
   pulling the choice label off to the wrong position instead of aligning it as intended. */
.qcmquestlist ol.qcmChoiceList > li {
    padding-left: 1.6em;
    text-indent: -1.6em;
}
.qcmChoiceList > li::before {
    content: attr(data-code) ") ";
}

.qcmGroupAddCheckBoxClass,
.qcmGroupRemoveCheckBoxClass {
    margin-left: 6px;
    vertical-align: middle;
}

.hrnopadding {
    margin: 5px -15px
}

.hrqcm {
    margin: 5px -15px 20px -15px
}

.hrnopaddingtab {
    margin: 5px -15px 10px -15px
}

#boxQCMList ul {
    list-style: none;
    padding: 0;
    padding-left: 17px;
    margin-left: 0
}

#boxQCMList ul li,
#boxQCMList ol li {
    line-height: 20px
}

.divlistclasses {
    margin-bottom: 10px
}

.padmedia {
    margin: 0; /*10px*/
    color: #777;
}

.margindivclear {
    margin-bottom: 10px
}

.lineheight {
    padding: 10px 0;
    padding-right: 5px;
    color: #777;
    cursor: pointer;
    background-color: #f5f5f5;
    line-height: 32px;
    vertical-align: middle
}

.divusrprofile {
    max-width: 200px
}

.foruminfoheadHome {
    height: 45px;
    font-size: 11px!important;
    text-transform: lowercase;
    overflow: scroll;
}

.foruminfohead {
    font-size: 11px!important;
    text-transform: lowercase
}

.padmedbodyhead p:first-letter {
    text-transform: uppercase
}

.foruminfo {
    font-weight: 700;
    text-transform: capitalize
}

.phtrghtpad {
    padding-right: 10px
}

.textinleft {
    text-align: left
}

.textinright {
    text-align: right
}

.media {
    margin-top: 15px
}

.media-left,
.media-right {
    display: table-cell;
    vertical-align: top
}

.media-body {
    display: table-cell;
    vertical-align: bottom
}

.media-left,
.media>.pull-left {
    padding-right: 7px
}

.media-right,
.media>.pull-right {
    padding-left: /*10px*/5px
}

.media-object {
    display: block
}

.media,
.media-body {
    overflow: hidden;
    zoom: 1
}

.media {
    line-height: 1.42857143
}

.arrMenu {
    text-transform: none!important;
    border-top: 0!important;
    border-top-left-radius: 0!important;
    border-top-right-radius: 0!important
}
.arrMenu li:hover {
    background-color: #f5f5f5;
}

.datepicker table tr td {
    line-height: 1.428571429!important
}

.icondist {
    padding-left: 5px
}

.qcm-question-action-icon {
    padding-left: 3px
}

.qcm-group-bar-left {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.qcm-group-bar-icons {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
@media (max-width: 767px) {
    .qcm-group-bar-left .qcmGroupSelectClass {
        max-width: 100%;
    }
}

.upperText {
    text-transform: uppercase!important
}

.staffQCMDetailsList {
    list-style: none
}

.smallTitle {
    /*font-size: small;
    font-weight: 700*/
}

.smallContent {
    font-size: x-small;
    font-weight: 400
}

.smallContent2 {
    font-size: small;
    font-weight: 400
}

.uppertext {
    text-transform: uppercase!important
}

.qcmBadSolutionColor {
    color: #A94442;
    font-weight: 700
}

.qcmGoodSolutionColor {
    color: #47A447;
    font-weight: 700
}

.qcmEndRecap .qcmRcp1 {
    font-size: 22px
}

.qcmEndRecap .qcmRcp2 {
    font-size: 28px
}

.qcmEndRecap .qcmRecap3 {
    margin: 15px;
    background-color: #f7f7f7
}

.qcmRecap3 {
    padding-left: 5px;
}

.qcmEndRecap .qcmRecap3 li {
    text-align: center;
    margin: 5px 0;
    padding: 20px;
    list-style: none
}

.bleft {
    border-left: 1px solid #ddd
}

.bright {
    border-right: 1px solid #ddd
}

.nolist {
    padding: 0!important
}

.qcmStatVal {
    font-size: 16px;
    font-weight: lighter
}

.qcmEndRecap .qcmRecap3 caption {
    font-size: 14px;
    font-weight: 700
}

.qcmEndRecap22 .qcmRcp1 {
    font-size: 14px
}

.qcmEndRecap22 .qcmRcp2 {
    font-size: 18px
}

.qcmEndRecap22 .qcmRecap3 {
    margin: 5px;
    background-color: #f7f7f7
}

.qcmEndRecap22 .qcmRecap3 li {
    text-align: center;
    padding: 5px 15px 5px 5px;
    list-style: none
}

.qcmStatVal22 {
    font-size: 14px;
    font-weight: 700
}

.qcmEndRecap22 .qcmRecap3 caption {
    font-size: 14px;
    font-weight: 700
}

.qcmOrangeColor {
    color: rgb(253, 156, 59)
}

.qcmRedColor {
    color: rgb(248, 56, 71)
}

.qcmBlueColor {
    color: rgb(42, 193, 229)
}

.normTab {
    font-size: 12px
}

.normTab tr {
    vertical-align: middle
}

.tdcenter {
    text-align: center
}

.tdright {
    text-align: right
}

.tdleft {
    text-align: left
}

.marginBox {
    margin: 5px 0;
    background-color: #f5f5f5;
    padding: 7px 5px;
}

.marginBox label {padding: 0 5px;color:#222}
.marginBox span {margin-left: 5px;}

.smallbtn {
    padding: 7px;
    font-size: 12px
}

.nopleft {
    padding-left: 0!important
}

.timerQCM {
    font-size: 16px;
    font-weight: 700
}

@media (max-width: 767px) {
    .qcm-header-actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 6px;
        margin-top: 8px;
    }
    .qcm-header-actions .pull-right {
        float: none;
        margin-left: 0 !important;
    }
}

ul ul,
ol ol {
    margin-top: 0;
    margin-bottom: 10px
}

.fileuploadinstruction {
    padding: 5px 10px;
    color: #777;
    background-color: #fff8c4;
    border: 1px solid #f7dda7
}

.fileuploadinstruction h5 {
    font-weight: 700
}

.colwar {
    color: #cc9b5c
}

.icontestimonoial {
    font-size: 70px
}

#sltSchools {
    background-color: #fbfbfb
}
.bold {font-weight: bold;}
.treattd {padding: 0 15px 10px 15px;}
.treattd p {font-weight: bold;}
.treattd form {margin-bottom: 10px;}
@media (min-width: 768px) {
    .treattd {padding: 0 0 10px 40px;}
}

.notifnb {
    background-clip: padding-box;
    display: inline-block;
    line-height: 1.3;
    min-height: 13px;
    background-color: #fa3e3e;
    color: #fff;
    border-radius: 2px;
    padding: 1px 3px;
    margin-left: -1px;
}

.bbdopts {
    cursor: pointer;
    padding: 10px;
}
.annparams {
    font-size: 12px;
    color: #aaa;
    text-transform: lowercase
}
.annparams span {
    color: #777;
}
.annparams i.fa-arrow-right {
    padding: 5px;
}.annparams i.fa-minus {
    padding: 10px;
}
.cnxusrname {
    line-height: 12px !important;
}
.qcmquestlist {
    padding-left: 8px;
    /*margin-left:0;*/
    margin-left:15px;
    margin-top: 10px;
    /* tighter than the browser default (~1.4-1.5x font-size) - cascades to question text, choices, group
       description, etc. so there isn't too much vertical space between elements in the list */
    line-height: 18px;
}
.qcmquestlist > li {
    padding-left: 0;
    margin-left:0;
}
.qcmquestlist ol {
    padding-left: 15px;
    margin-left:0;
}
.qcmquestlist ol li {
    margin-left:0;
    padding: 2px 0;
}
.darkheader {
    background-color: #0073b1 !important;
    color: #ffffff !important;
}
.schvwbox {
    background-color: #f5f8fa;
}
.infoshclasses {font-size:12px;}
#qcmContentZone .divonglet {
    max-height: 400px;
    overflow: auto;
}
.boxMaxHeight {
    max-height: /*400*/1000px;
    overflow: auto;
}

.ctimeqq {
    margin-right: 0 !important;
    padding-right: 0 !important;
}
.ctimemodeqq {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.timeqq {
    text-align: right;
    padding-right: 5px;
    border-right: none;
    border-radius: 4px 0 0 4px;
}
.timemodeqq {
    text-align: left;
    padding-left: 0px;
    background-color: #f7f7f7;
    border-left: none;
    border-radius: 0 4px 4px 0;
}

.timelightL {border-radius: 4px 0 0 4px;}
.timelightM {border-radius: 0;}
.timelightR {border-radius: 0 4px 4px 0;}

.qcmbankcontent ol {/*list-style-position: inside !important;*/ /*padding-left: 2em !important;*/}

.quesansexplainbox, .quesanshintbox {
    padding: 5px;
    padding-top:0 !important;
    margin-bottom: 15px;
    font-size: 12px;
}
.quesansexplainbox {border: 1px solid #59B959;}
.quesanshintbox {border: 1px solid #9F6000;}
.quesansexplainbox i, .quesanshintbox i {font-size:14px !important;}
.quesansexplainbox p, .quesanshintbox p {margin:0; padding:0}
.quesansexplainbox_text, .quesanshintbox_text {padding: 0 5px !important;background-color: #f5f5f5;}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}
/*.btn-success {
    background-color: #0073b1 !important;
    color: #ffffff !important;
    border: none !important;
}*/
/*.noheight .close {
    opacity: 1 !important;
}*/
.noheight {padding-left: 0 !important}
.nopadcoin {
    padding-left: 0px !important;
    padding-right: 0px !important;
}
.warningHeader {
    color: #8a6d3b !important;
    background-color: #fcf8e3 !important;
    border-bottom: 1px solid #faebcc;
}

.qcmAiValidatedCta {
    padding: 10px 15px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    background-color: #dff0d8;
    border: 1px solid #d6e9c6;
    color: #3c763d;
    border-radius: 4px;
}

.table tr td {vertical-align: middle !important;}
.table tr th {vertical-align: middle !important;}

.selQCMClassBox {
    font-size: 12px !important;
}
.selQCMClassBox label {
    
}
.selQCMClassBox select {
    height: 26px !important;
    padding: 3px 6px;
    font-size: 12px !important;
}
.hr10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}
.titlemar {
    margin: 10px 0;
    color: #0073b1;
}

#subscribe > h3 {color: #0073b1;}

.renew_year fieldset {margin-bottom: 0px !important;}
.renew_year fieldset legend {
    font-size: 16px !important;
    background-color: #f5f5f5;
    padding-left: 15px;
    margin-bottom: 5px !important;
}
.renew_year fieldset label {color: #333 !important;padding-left: 15px;}
.renew_year fieldset label span {font-size: 12px !important;}
.renew_year textarea {margin-left: 15px;}
.boxSubtitle {
    font-size: 16px;
    color: brown;
}
.stdfailedlist {
    font-size: 12px;
}
.stdfailedlist li {
    line-height: 18px;
}

.msgBox {
    font-size: 12px;
}
.msgBox .msgBoxContent {
    border-top: 1px solid #ffe484;
    border-bottom: 1px solid #ffe484;
    margin-bottom: 5px;
    /*background-color: #39B3D7;*/
}
.msgBox .msgBoxHead {
    padding: 2px 8px;
    background-color: /*#39B3D7*/#ffe484;
    color: /*black*/#444;
    line-height: 18px !important;
    cursor: pointer;
}

.msgBoxList {
    padding-left: 0 !important;
    margin-bottom: 2px !important;
}
.msgBoxList li {
    list-style: none;
}
.msgBoxItem {
    padding: 5px 0px;
}
.msgBoxItem .msgBoxItemHead {
    font-size: 11px;
    line-height: 14px;
    /*color: #000;*/
}
.msgBoxItem .msgBoxItemContent {
    padding: 5px;
    background-color: #f5f5f5;
    /*color: #39B3D7;*/
    color: black;
    line-height: 18px;
}
.msgBoxNotAllowed {
    padding: 10px !important;
    font-size: 12px;
    line-height: 12px;
    margin-bottom:2px !important;
}

.logobic {
    vertical-align: bottom;
    padding-left: 5px;
    color: #000;
    font-family: 'Bad Script',cursive;
    font-weight: 400;
    font-size: 14px;
}
.baniere_mini {
    margin: 60px 0px 0 0px;
    padding: 5px;
    background-color: #fdb913;
}
/*.modal-body {
    max-height: calc(100vh - 212px) !important;
    overflow-y: auto !important;
}*/


.forum_subject_box_right .listSubHead {
    margin: 8px -10px 0 -10px;
    padding: 2px 5px;
    font-size: 16px;
}

.forum_subject_box_left {
    margin: 0 -10px;
}

.forum_subject_box_left .listSubHead {
    margin: 8px 0px 0 0px;
    padding: 2px 5px;
    font-size: 12px;
    color: #fff;
    background-color: #f26522;
    border: 1px solid #f26522;
}

.forum_subject_box_left ul {
    margin: 0;
    padding: 0;
    max-height: 300px;
    overflow-y: scroll !important;
}

.forum_subject_box_left ul li {
    margin: 0;
    padding: 0;
    list-style: none;
    
}

.dataignoretr {
  background-color: #f8d7da;
}
.dataignoretr td{
  color: #222;
}
.dataignoretd {
  background-color: #a94442;
  color: #f2dede !important;
}
.dataignoretrNB{
  color: #721c24 !important;
}

.singupbloc {
    padding:0;
}
.singupbloc p {text-align: center;}
.btn3B {
    display: inline-block;
    padding: 0px 5px;
    background-color: #8dc63f;
    border-color: #8dc63f;
    text-decoration: none;
    color: white;
    border-radius: 4px;
}
.btn3B:hover {color:white; background-color: #47a447; border-color: #47a447}

.backgreen3B{background:radial-gradient(760px 340px at 12% 0%,rgba(37,170,225,.48),transparent 62%),radial-gradient(640px 320px at 94% 100%,rgba(242,101,34,.28),transparent 60%),linear-gradient(160deg,#2f5aa8 0%,#25488c 45%,#1e3f7e 100%)!important}
.backgreen3B::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#F26522,#8DC63F 50%,#25AAE1)}

.intro_msg {
    font-size: 22px;
    font-weight: 300;
    color: #fff;
    margin: 0px 0 30px 130px;
}
.btn3BSch {
    display: inline-block;
    padding: 2px 5px;
    background-color: #f26522;
    border-color: #f26522;
    text-decoration: none;
    color: white;
    border-radius: 4px;
}
.btn3BSch:hover {color:white; background-color: #f26522; border-color: #f26522}
.btn3BSchlink {color:#8dc63f !important; white-space: nowrap}
.btn3BSchnormallink {white-space: nowrap}
#sch_bbdcontents_btn, #my_schnews_btn, #my_contents_btn {white-space: nowrap}
.classonglet li a {white-space: nowrap}
.grpmemberlist_title {
    font-size: 16px;
    margin-top: 10px;
}
.grpformtitle {
    font-size: 16px;
    margin-bottom: 10px;
}

.tablelistsubject {
    
}
.tablelistsubject thead th {
    white-space: nowrap;
    text-transform: none !important;
    color: #333 !important;
}
.infinvue {
    text-align: center;    
    color: #39B3D7;
}
.keeptogether {white-space: nowrap;}
.center_text {text-align: center !important;}
.classdesc {
    margin-left: 10px;
    margin-top: 5px;
    padding: 5px; 
    border: 1px solid #ddd;
}
.classcode {
    color: #555;
}
#setclcBtn{padding-right:0}
.hidden {visibility: hidden}
.haveaccounttext {margin-bottom: 5px; padding: 5px 10px 5px 5px; background-color: #f5f5f5}
.haveaccounttext p {font-size: 16px;text-align: right}
.boxusrname {color: #262626; margin-bottom: /*7*/12px;}
.logout a {color: #777;text-transform: none;}

 /* Tooltip container */
.tooltip3B {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
}

/* Tooltip text */
.tooltip3B .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: #555;
  color: #fff;
  text-align: center;
  padding: 5px 0;
  border-radius: 6px;

  /* Position the tooltip text */
  position: absolute;
  z-index: 1;
  bottom: 125%;
  left: 50%;
  margin-left: -60px;

  /* Fade in tooltip */
  opacity: 0;
  transition: opacity 0.3s;
}

/* Tooltip arrow */
.tooltip3B .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip3B:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}
.boximportant {
    text-align: right;
    padding-bottom: 5px;
    margin-bottom: 5px;
    /*border-bottom: 1px solid #ddd;*/
}
.shclassp {
    font-size: 1.1em;
    margin: 0 0 5px 0;
    /*border-bottom: 1px solid #ddd;*/
}
.shclassp span {
    
}
.audienceList {
    max-height: 275px;
    padding: 0 5px 0 0;
    overflow: auto;
    border: 1px solid #ddd;
}
.audienceList table {
    margin-bottom: 0 !important;
}
.checkallbtn {margin-right: 10px;}
.tab-btn-explain {
    border-collapse: separate;
}
.tab-btn-explain tr {
    vertical-align: middle;
}
.tab-btn-explain tr td {
    font-size: 11px;
    line-height: 12px;
    padding: 5px;
}
.tab-btn-explain .td-btn-exp {
    text-align: right;
}
.tab-btn-explain .td-btn-exp span, .tab-btn-explain .td-btn-exp button {
    font-size: 11px !important;
}
.backyellow {
    background-color: #fcf8e3 !important;
}
.coursecontentborder {
    padding-left: 0;
    border-right: 2px solid #eee;
}
.coursesharebox {
    padding-right: 0;
}
.messagecontentborder {
    padding-left: 0;
}
.messagesharebox {
    padding-right: 0;
    border-left: 2px solid #eee;
}
.modal-header-min {
  padding: 15px 15px 0 0;
}
.specialty_input {width: 330px !important;}
.centertd {text-align: center;}
.linkedobjlist {padding-left: 0;}
.linkedobjlist li {list-style: none;}
.contentlinkline {border-color: #ddd !important;}
.hiddentext {color: transparent !important;}

/*--- TRES IMPORTANT POUR LE SCROLL DE LA PAGE */
 .modal { overflow-y: scroll !important; }

 .stdselcnx {margin-bottom: 15px;margin-left: 5px;margin-right: 5px;}
 .stdselcnx label {font-weight: bold;}
 .stdselcnx select {margin-right:15px;background-color: #f5f5f5;}
 .list-group-horizontal .list-group-item
{
	display: inline-block;
}
.list-group-horizontal .list-group-item
{
	margin-bottom: 0;
	margin-left:-4px;
	margin-right: 0;
 	border-right-width: 0;
}
.list-group-horizontal .list-group-item:first-child
{
	border-top-right-radius:0;
	border-bottom-left-radius:4px;
}
.list-group-horizontal .list-group-item:last-child
{
	border-top-right-radius:4px;
	border-bottom-left-radius:0;
	border-right-width: 1px;
}


.multiselect-native-select .btn-default {
  font-size: 17px;
  margin: 0px !important;
  line-height: 20px;
  padding: 0px !important;
  height: fit-content !important;
  border: none  !important;
  background: transparent;
  transition: all 0.4s;
  color: #555;
  border-radius: 0;
  border-color: transparent !important;
}
.multiselect-native-select li {
  padding: 0px  !important;
  margin: 0px  !important;
}

/*.multiselect-native-select li .dropdown-menu > .active > a {
  color: #262626 !important;
  text-decoration: none;
  background-color: #e9e9ed !important;
}*/

.multiselect-selected {
    color: #262626 !important;
    text-decoration: none;
    background-color: #e9e9ed !important;
}

.multiselect-native-select .dropdown-menu > .active > a {
  color: #262626 !important;
  text-decoration: none;
  background-color: #e9e9ed !important;
}
.multiselect-native-select .btn-success
, .multiselect-native-select .btn-success:hover
, .multiselect-native-select .btn-success:active
, .multiselect-native-select .open > .dropdown-toggle.btn-success{
  color: #fff;
  background-color: #39B3D7 !important;
  border: 1px solid #ccc !important;
}
.multiselect-native-select .input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
  padding: 0px 5px;
  color: #555;
  text-align: center;
  background-color: #eee;
  border: 1px solid #ccc;
  border-radius: 0 4px 4px 0;
}

#nopadtable tr:hover, #nopadtableNT tr:hover {
    background-color: #f5f5f5 !important;
}

#nopadtableins tr:hover, #nopadtableNTins tr:hover {
    background-color: #f5f5f5 !important;
}

.warnborder {border: 1px solid #ed9d45;}
.noyet {margin: 10px 5px;padding: 5px;}
#xs_dd_user_menu .arrMenu {
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  margin-top: 2px;
  font-size: 14px;
  text-align: left;
  list-style: none;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  border-radius: 4px;
}
#xs_dd_user_menu .divider {
  height: 1px;
  margin: 9px 5px 9px 5px;
  overflow: hidden;
  background-color: #e5e5e5;
}
#xs_dd_user_menu .dropdown-header > li > a {
    padding: 5px 15px 5px 25px;
}
#xs_dd_user_menu .dropdown-header {
    color: #777 !important;
    padding: 3px 5px;
}
#xs_dd_user_menu > ul > li > a {
    color: #333;
    line-height: 20px;
    padding: 5px 15px 5px 25px;
    display: block;
    padding: 3px 5px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    white-space: nowrap;
}

.headerbluelinkmobile {
    padding: 5px !important;
}
.navbar-nav-xs {margin: 7.5px -15px 0 -15px !important;}
#classes_container, #cursuses_container, #staff_container, .listHLimit {
    max-height: 300px;
    overflow: scroll;
}
#ulboxlist {
    padding: 0 10px 0 0;
    max-height: 300px;
    overflow: scroll;}
.subject_aff_title {
    
}
.nbaff_zone {
    
}
.emptyline {background-color: #eee !important}
.multiselect-container {width:100% !important;max-height: 300px !important; overflow: scroll auto !important}
/**
color: #555;
text-align: center;
background-color: #eee;
border: 1px solid #ccc;
border-radius: 4px 0 4px 0;
*/

.fieldelt {
    /*color: #222;*/
}
.smallbtn {font-size: 12px !important;}
.compoQCMRecap {
    border: 1px solid #ccc;
    padding: 3px 10px;
    margin-bottom: 10px;
}
.isEmptyBadge {background-color: #ccc !important;}
.compoQCMRecap ul {margin-bottom: 0 !important;}
.homeactionbtn tr td {padding-right: 15px !important;}
.qcmplacechoices {margin: 0 0 5px 0;}
.qcmplacechoices span {/*color: #0060df;*/}
.qcmplaceboxchoices {padding: 10px 0 0 0;}
#qcmbankcontener {text-align: center;}
#qcmfileactionsBtnBloc {margin: 0 -15px;padding: 10px 15px 0 15px;border-top: 1px solid #eee;}
.grpmodechoicesbloc {padding: 5px 10px;border: 1px solid #ccc;}
.grpoptchoicesbloc {padding: 5px;border: 1px solid #ccc;}
.grpautoopt_box {text-align: center;border-top: 1px solid #ccc;}
.useroptlist {list-style: none;padding:5px 0 0 0;}
.useroptlist li {display:inline;padding-right: 0px;}
.useroptlist li .grpactpadding {padding-right: 10px;}
.qcmlink {color: #E059AA;cursor: pointer}
.notefile_indicator {/*padding-left: 20px;padding-right: 20px;*/}
.whitecolor {color:#fff !important;}
#stdinfosbox ul li {
    padding: 3px 5px !important;
    margin: 10px 0;
}
#stdinfosbox ul .list-group {margin-bottom: 0 !important;}
.filegrptitle {padding:7px 3px 0px 17px;}
.filegrplist li, .linkedobjlist li {padding-left:17px !important;}
.formValidation {margin-bottom: 50px;}
.filegrptitlein {padding:0 0 0 3px;height: 20px;}
.formEltLabel {font-weight: bold;}
.switch {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 17px;
}

.switch input { 
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 13px;
  width: 13px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #8DC63F;
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
  -webkit-transform: translateX(13px);
  -ms-transform: translateX(13px);
  transform: translateX(13px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 17px;
}

.slider.round:before {
  border-radius: 50%;
}


input:checked + .redbgslider {
  background-color: #A94442 !important;
}

/* Emploi du temps - vue calendrier (listTimetable.php) */
.tt-grid-wrap {
  overflow-x: auto;
}
.tt-grid {
  width: 100%;
  min-width: 700px;
  border-collapse: collapse;
  table-layout: fixed;
}
.tt-grid th,
.tt-grid td {
  border: 1px solid #e0e0e0;
}
.tt-grid th {
  background: #f5f5f5;
  text-align: center;
  padding: 6px 4px;
  font-size: 12px;
}
.tt-grid .tt-time-col {
  width: 62px;
  background: #fafafa;
  color: #888;
  font-size: 11px;
  text-align: center;
  white-space: nowrap;
  padding: 2px;
}
.tt-grid td.tt-slot {
  height: 30px;
  padding: 0;
  vertical-align: top;
  position: relative;
}
.tt-day-nonschool {
  background: #ececec !important;
}
th.tt-day-nonschool {
  color: #aaa;
}
.tt-month-day.tt-day-nonschool .tt-month-daynum {
  color: #bbb;
}
/* Hors periode (avant le debut / apres la fin de la periode selectionnee) et jour ferie declare
   (mdz_school_holiday) - distincts de .tt-day-nonschool ci-dessus : la cause n'est pas "l'ecole ne
   travaille jamais ce jour" mais "cette date precise tombe hors des cours pour une autre raison",
   d'ou un hachurage plutot qu'un simple aplat gris (meme langage visuel que .tt-break-block plus
   bas), avec une teinte differente par cause pour ne pas les confondre entre elles */
.tt-day-outofperiod {
  background: repeating-linear-gradient(45deg, #fafbfc, #fafbfc 4px, #e3edf7 4px, #e3edf7 8px) !important;
}
th.tt-day-outofperiod {
  color: #5a7a9c;
}
.tt-month-day.tt-day-outofperiod .tt-month-daynum {
  color: #8098b3;
}
.tt-day-holiday {
  background: repeating-linear-gradient(45deg, #fffdf7, #fffdf7 4px, #faecd0 4px, #faecd0 8px) !important;
}
th.tt-day-holiday {
  color: #9F6000;
}
.tt-month-day.tt-day-holiday .tt-month-daynum {
  color: #b9812a;
}
.tt-session-block {
  background: #e3f0ff;
  border-left: 3px solid #337ab7;
  padding: 1px 4px;
  font-size: 10px;
  line-height: 1.2;
  overflow: hidden;
  cursor: pointer;
}
.tt-session-header {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 2;
}
.tt-session-tooltip {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  left: 0;
  bottom: 100%;
  margin-bottom: 6px;
  width: 200px;
  background-color: #555;
  color: #fff;
  text-align: left;
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 11px;
  line-height: 1.5;
  z-index: 5;
  pointer-events: none;
  transition: opacity 0.3s;
}
.tt-session-tooltip strong {
  display: block;
  margin-bottom: 3px;
}
.tt-session-tooltip span {
  display: block;
}
.tt-session-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 16px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
}
/* Visibilite pilotee en JS (voir le gestionnaire mouseenter/mouseleave sur .tt-session-block,
   custom_260711.min.js) plutot que ":hover + sibling" pur CSS - necessaire pour que le JS puisse
   calculer top/left en "position: fixed" AVANT de rendre la bulle visible (jamais de flash a la
   mauvaise position). .tt-tooltip-flip = la bulle a bascule EN DESSOUS du bloc survole (faute de
   place au-dessus, ex: toute premiere ligne de la grille) - fleche retournee en consequence. */
.tt-session-tooltip.tt-tooltip-show {
  visibility: visible;
  opacity: 1;
}
.tt-session-tooltip.tt-tooltip-flip::after {
  top: auto;
  bottom: 100%;
  border-color: transparent transparent #555 transparent;
}
.tt-session-block .tt-session-actions {
  float: right;
}
.tt-session-block .tt-session-actions .icondistance {
  font-size: 11px;
  margin-left: 4px;
  cursor: pointer;
}
.tt-session-block .tt-session-class,
.tt-session-block .tt-session-subject {
  display: block;
  font-weight: bold;
}
/*--- indicateur "cours en tronc commun" (badge dans la grille + ligne dans la modale detail) ---*/
.tt-grouped-ico {
  color: #c17a2e;
  font-size: .82em;
  vertical-align: baseline;
}
.tt-session-tooltip .fa-object-group,
.tt-session-details .tt-session-grouped .fa-object-group {
  color: #c17a2e;
}
.tt-session-details .tt-session-grouped {
  color: #8a5a1f;
  font-size: 12px;
}
.tt-session-block .tt-session-duration {
  font-weight: normal;
  color: #337ab7;
}
.tt-session-block .tt-session-time,
.tt-session-block .tt-session-staff,
.tt-session-block .tt-session-room {
  display: block;
  color: #555;
}
.tt-session-block + .tt-session-block {
  margin-top: 2px;
  border-top: 1px dashed #b8d4f0;
  padding-top: 2px;
}
/* bande de continuation d'une seance etalee sur plusieurs creneaux (voir renderTimetableView()) -
   fond nettement plus sature que l'entete pour ne jamais se lire comme une case vide/un trou, avec
   un repere visuel centre (trois points verticaux) signalant "la seance ci-dessus continue ici" */
.tt-session-continuation {
  background: #cfe4fa;
  border-left: 3px solid #337ab7;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tt-session-continuation-mark {
  color: #6c9bc4;
  font-size: 11px;
  line-height: 1;
}
.tt-list-row {
  cursor: pointer;
}
.tt-list-row .tt-list-actions {
  cursor: default;
}
/* Modale de details de seance (clic sur une seance de l'emploi du temps) - meme palette bleue que
   les blocs de la grille (.tt-session-block/.tt-month-entry) pour que la modale se lise comme un
   agrandissement de la case cliquee plutot que comme un composant a part */
.tt-session-details-card {
  background: #e3f0ff;
  border-left: 3px solid #337ab7;
  border-radius: 4px;
  padding: 12px 15px;
}
.tt-session-details-card p {
  margin: 0 0 8px;
  color: #333;
}
.tt-session-details-card p:last-child {
  margin-bottom: 0;
}
.tt-session-details-card p i {
  width: 20px;
  text-align: center;
  color: #337ab7;
  margin-right: 2px;
}
.tt-session-details-actions {
  margin-top: 15px;
  text-align: right;
}
/* 2026-08-30 : cahier de texte, dans la meme modale de details de seance - meme palette/rayon que
   .tt-session-details-card juste au-dessus (lecture comme une extension du meme ecran, pas un
   composant importe d'ailleurs) plutot que le bleu #0073b1/bordures vives du forum (convention locale
   de cet ecran, deja etablie, prioritaire sur la convention plus recente d'un autre ecran) */
.tt-logbook-box {
  margin-top: 15px;
  border-top: 1px solid #eee;
  padding-top: 15px;
}
.tt-logbook-title {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  margin: 0 0 10px;
}
.tt-logbook-pending {
  background: #fdf3e3;
  border-left: 3px solid #f0ad4e;
  border-radius: 4px;
  padding: 8px 12px;
  font-size: 12px;
  color: #8a6d3b;
  margin: 0 0 10px;
}
.tt-logbook-editinfo {
  font-size: 11px;
  color: #999;
  margin: 0 0 8px;
}
.tt-logbook-textarea {
  min-height: 90px;
  resize: vertical;
  margin-bottom: 10px;
}
.tt-logbook-label {
  font-size: 12px;
  color: #666;
  margin-bottom: 4px;
  display: block;
}
/* 2026-08-30 (signalement utilisateur) : le champ "mois precis" du rapport d'heures n'avait aucun
   libelle - meme forme que .tt-logbook-label ci-dessus */
.lg-report-label {
  font-size: 12px;
  color: #666;
  margin-bottom: 4px;
  display: block;
}
.lg-report-date {
  display: inline-block;
  width: auto;
}
/* Filtre Du/Au de la vue liste emploi du temps (vTimetableTab.html) - un bouton compact dans la
   barre de filtres (meme empreinte que le select "Vue" qu'il remplace en vue liste), qui ouvre une
   popover EN SUPERPOSITION (position:absolute) plutot que d'agrandir la ligne de filtres - condition
   explicite de l'utilisateur : la barre de filtres doit toujours tenir sur une seule ligne, quelle
   que soit la largeur d'ecran, ce que 2 <input type=date> toujours visibles ne garantissaient pas */
.tt-list-daterange-li {
  position: relative;
}
.tt-list-daterange-popover {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 20;
  margin-top: 4px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  white-space: nowrap;
}
.tt-list-daterange-popover .lg-report-label {
  display: inline-block;
  margin: 0 4px 0 0;
}
.tt-list-daterange-popover .lg-report-date {
  margin-right: 8px;
}
.tt-list-daterange-clear {
  margin-left: 8px;
}
/* Filtrer/Exporter empiles verticalement (rapport heures effectives du cahier de texte) - voir
   le commentaire dans openLogbookReport() (custom_260711.min.js) : garde Filtrer sur la meme
   ligne que Periode/plage de dates, colle juste Exporter en dessous plutot que de laisser les 2
   boutons passer a la ligne independamment */
.lg-report-btn-stack {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.tt-logbook-select {
  width: auto;
  display: inline-block;
  margin-bottom: 10px;
}
.tt-logbook-actions {
  text-align: right;
}
.tt-logbook-readonly {
  background: #e3f0ff;
  border-left: 3px solid #337ab7;
  border-radius: 4px;
  padding: 12px 15px;
  font-size: 13px;
  color: #333;
  margin: 0;
}
/* mise en avant temporaire d'une seance apres avoir suivi le lien "Emploi du temps" du widget
   "prochain cours" - courte pulsation puis retour normal (classe retiree par JS apres 3s) */
.tt-session-block.tt-session-highlight {
  animation: tt-session-highlight-pulse 1s ease-in-out 2;
  box-shadow: 0 0 0 2px #9F6000;
}
@keyframes tt-session-highlight-pulse {
  0%, 100% { background: #e3f0ff; }
  50% { background: #fdf6e8; }
}

/* css-index_110624.css (page d'accueil) redefinit .btn-default/.btn-primary en gros boutons
   pilule pour le hero de la landing page, sans equivalent pour .btn-success - ce style de
   page publique fuit dans toute l'appli des qu'on utilise ces deux classes ailleurs. On
   reinitialise ici aux proportions standards de Bootstrap pour que les 3 boutons de la
   barre d'outils de l'emploi du temps aient la meme taille, seule la couleur differe. */
.tt-toolbar .btn {
  font-size: 14px;
  line-height: 1.42857143;
  margin: 0 0 0 5px;
  padding: 6px 12px;
  height: auto;
  border-radius: 4px;
}

/* option "Cours en visio" du select Salle (formulaire de seance, admin et enseignant) - toujours
   en tete de liste, police distincte des vraies salles pour bien la signaler comme speciale */
.tt-room-video-option {
  font-style: italic;
  color: #337ab7;
}

/* Emploi du temps - vue mois (listTimetable.php, viewMode=month) */
.tt-month-nav {
  text-align: center;
  margin-bottom: 8px;
  font-size: 15px;
}
.tt-month-nav i {
  cursor: pointer;
  padding: 4px 12px;
  color: #337ab7;
}
.tt-month-nav strong {
  display: inline-block;
  min-width: 140px;
  text-transform: capitalize;
}
.tt-month-grid td {
  vertical-align: top;
  width: 14.28%;
  height: 90px;
  padding: 2px;
}
.tt-month-day-other {
  background: #fafafa;
}
.tt-month-day-other .tt-month-daynum {
  color: #bbb;
}
.tt-month-daynum {
  font-size: 11px;
  font-weight: bold;
  color: #888;
  padding: 2px 4px;
}
.tt-month-day-entries {
  max-height: 68px;
  overflow-y: auto;
}
.tt-month-entry {
  background: #e3f0ff;
  border-left: 3px solid #337ab7;
  font-size: 10px;
  line-height: 1.3;
  padding: 1px 3px;
  margin: 1px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  cursor: pointer;
}
.tt-month-entry-del {
  float: right;
  cursor: pointer;
  color: #a94442;
  margin-left: 3px;
}
.tt-loading {
  text-align: center;
  padding: 50px 0;
  color: #337ab7;
  font-size: 28px;
}

/* Emploi du temps - bascule Calendrier/Liste au dessus de la zone d'affichage */
.tt-display-toggle {
  margin-bottom: 6px;
}
.tt-display-toggle-ico {
  font-size: 18px;
  color: #bbb;
  cursor: pointer;
  padding: 4px 8px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  margin-right: 4px;
  background: #fafafa;
}
.tt-display-toggle-ico.active {
  color: #fff;
  background: #337ab7;
  border-color: #337ab7;
}

/* Emploi du temps - vue liste (listTimetable.php, DisplayMode=list) */
.tt-list-wrap {
  overflow-x: auto;
}
.tt-list-table {
  margin-bottom: 0;
}
.tt-list-actions {
  white-space: nowrap;
}
/* Habillage visuel de la vue liste - memes couleurs que le reste du module Emploi du temps
   (bleu #337ab7 / teinte claire #e3f0ff, cf. .tt-session-details-card et
   .tt-display-toggle-ico.active) pour que la liste se lise comme le meme composant que la
   grille/le detail de seance, plutot qu'un simple table-bordered Bootstrap brut.
   Uniquement au-dela du breakpoint mobile (768px, cf. media query plus bas) : au-dela, le
   tableau devient des cartes empilees avec son propre padding/bordures compacts, et un
   selecteur plus specifique ici l'ecraserait sans le vouloir - donc tout est confine a
   min-width:769px pour ne jamais interferer avec la mise en page mobile existante. */
.tt-list-wrap {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
}
.tt-list-table td .fa-map-marker,
.tt-list-table td .fa-video-camera {
  color: #337ab7;
  margin-right: 2px;
}
@media (min-width: 769px) {
  .tt-list-table > thead > tr > th {
    background-color: #e3f0ff;
    color: #2c5c85;
    font-weight: 600;
    border-bottom: 2px solid #337ab7;
    padding: 10px 12px;
    white-space: nowrap;
  }
  .tt-list-table > tbody > tr > td {
    padding: 10px 12px;
    vertical-align: middle;
    border-color: #e8e8e8;
  }
  .tt-list-table > tbody > tr:nth-child(even) > td {
    background-color: #f7fafd;
  }
  .tt-list-row:hover > td {
    background-color: #eaf3fc !important;
  }
}

/* Emploi du temps - responsive mobile : la grille Semaine/Mois et la liste ne doivent
   jamais imposer de scroll horizontal, meme sur un petit ecran. On resserre les colonnes,
   on reduit les polices et, pour la vue liste, on transforme le tableau en cartes empilees
   (pattern responsive-table classique : thead masque, td en bloc, libelle via data-label). */
@media (max-width: 768px) {
  .tt-grid-wrap {
    /* "hidden" et non "visible" : les largeurs de colonnes en pourcentage (vue Mois avec
       une colonne reduite a 4%) peuvent depasser le conteneur de quelques dixiemes de
       pixel par arrondi du navigateur - "visible" laissait ce micro-depassement remonter
       jusqu'a la page entiere et y declencher un scroll horizontal, "hidden" l'absorbe
       silencieusement (imperceptible, il ne coupe jamais de contenu reel) */
    overflow-x: hidden;
  }
  .tt-grid {
    min-width: 0;
    table-layout: fixed;
  }
  .tt-grid .tt-time-col {
    width: 32px;
    font-size: 9px;
    padding: 1px;
  }
  .tt-grid th {
    font-size: 9px;
    padding: 3px 1px;
    word-break: break-word;
  }
  /* vue Semaine uniquement (jamais .tt-month-grid, dont les colonnes sont les 7 jours
     fixes du mois et ne peuvent pas disparaitre sans casser la grille calendrier) : les
     jours hors config horaire n'auront de toute facon jamais de seance, les faire
     disparaitre entierement laisse plus de place aux jours de classe reels sur petit ecran */
  .tt-grid:not(.tt-month-grid) th.tt-day-nonschool,
  .tt-grid:not(.tt-month-grid) td.tt-day-nonschool {
    display: none;
  }
  /* vue Mois : la colonne elle-meme ne peut pas disparaitre (ce sont les 7 jours fixes
     du calendrier reel), mais on la reduit au minimum (largeur + libelle d'entete masque,
     numero du jour et seances masques) pour que l'espace gagne aille aux 6 autres colonnes -
     table-layout:fixed (regle mobile plus haut) calque les largeurs de colonnes sur celles
     de la ligne d'entete, donc reduire ici le <th> suffit a reduire toute la colonne */
  .tt-month-grid th.tt-day-nonschool,
  .tt-month-grid td.tt-day-nonschool {
    width: 4%;
    padding-left: 1px;
    padding-right: 1px;
  }
  .tt-month-grid th.tt-day-nonschool {
    font-size: 0;
  }
  .tt-month-grid td.tt-day-nonschool .tt-month-daynum,
  .tt-month-grid td.tt-day-nonschool .tt-month-day-entries {
    visibility: hidden;
  }
  .tt-session-block {
    font-size: 9px;
    padding: 1px 2px;
    line-height: 1.2;
  }
  .tt-session-block .tt-session-time,
  .tt-session-block .tt-session-staff,
  .tt-session-block .tt-session-room {
    display: none;
  }
  .tt-session-block .tt-session-class,
  .tt-session-block .tt-session-subject {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .tt-session-block .tt-session-actions {
    font-size: 9px;
  }
  .tt-month-grid td {
    height: 60px;
    padding: 1px;
  }
  .tt-month-day-entries {
    max-height: 40px;
  }
  .tt-month-entry {
    font-size: 8px;
  }
  .tt-month-nav strong {
    min-width: 100px;
    font-size: 13px;
  }
  .tt-list-table thead {
    display: none;
  }
  .tt-list-table,
  .tt-list-table tbody,
  .tt-list-table tr,
  .tt-list-table td {
    display: block;
    width: 100%;
  }
  .tt-list-table tr {
    border: 1px solid #e0e0e0;
    margin-bottom: 8px;
  }
  .tt-list-table td {
    border: none;
    border-bottom: 1px solid #eee;
    padding: 4px 8px;
    text-align: right;
  }
  .tt-list-table td:last-child {
    border-bottom: none;
  }
  .tt-list-table td[data-label]::before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    color: #888;
    margin-right: 8px;
  }
  .tt-list-table td.tt-list-actions {
    text-align: center;
  }
}
.tt-break-block {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(45deg, #f2f2f2, #f2f2f2 6px, #e6e6e6 6px, #e6e6e6 12px);
  border-left: 3px solid #999;
}
.tt-break-label {
  display: block;
  font-size: 10px;
  color: #777;
  padding: 2px 4px;
  font-style: italic;
}

/* Widget "prochain cours" (tableau de bord enseignant, juste apres la Banque de QCM) */
.nextcourse-widget {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  margin-left: 12px;
  padding: 6px 10px;
  border-left: 3px solid #9F6000;
  background: #fdf6e8;
  border-radius: 3px;
  color: #9F6000;
  font-size: 13px;
  line-height: 20px;
  vertical-align: middle;
}
.nextcourse-icon {
  margin-right: 2px;
}
.nextcourse-link {
  color: #9F6000;
  text-decoration: underline;
}
.nextcourse-widget.nextcourse-urgent .nextcourse-link {
  color: #a94442;
}
.nextcourse-countdown {
  font-weight: bold;
  font-variant-numeric: tabular-nums;
  margin-left: 2px;
}
/* hauteur fixe, alignee sur la line-height du widget - le bouton ne doit jamais depasser la
   hauteur du texte seul, qu'il soit present ou non */
.nextcourse-video-btn {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: 10px;
  padding: 0 8px;
  height: 23px;
  line-height: 23px;
  background: #47A447;
  color: #fff;
  border-radius: 3px;
  cursor: pointer;
  font-size: 12px;
  white-space: nowrap;
}
.nextcourse-video-btn i {
  /* le conteneur est en display:flex - l'espace texte entre l'icone et le libelle ne garde pas
     sa largeur visuelle dans ce contexte, d'ou l'icone et le texte apparaissant colles */
  margin-right: 5px;
}
.nextcourse-video-btn:hover {
  background: #3d8b3d;
}
/* dans les 30 dernieres minutes avant le debut - bascule sur une teinte alerte et une legere
   pulsation de la cloche pour attirer l'oeil, sans etre plus intrusif qu'un badge de notification
   deja present ailleurs dans l'appli (ex. .notifnb) */
.nextcourse-widget.nextcourse-urgent {
  border-left-color: #a94442;
  background: #fbe9e7;
  color: #a94442;
}
.nextcourse-widget.nextcourse-urgent .nextcourse-icon {
  animation: nextcourse-pulse 1.2s infinite;
}
@keyframes nextcourse-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.35; }
}
@media (max-width: 768px) {
  .nextcourse-widget {
    display: block;
    margin: 6px 0 0;
  }
  /* le tableau .homeactionbtn (bouton CREER + lien Banque de QCM + widget prochain cours) ne
     s'enroule pas nativement en <table> - on le fait passer en flex pour que la cellule du
     widget puisse etre forcee sur sa propre ligne, juste apres celle du bouton CREER et de la
     Banque de QCM, sans casser leur mise en page cote a cote */
  .homeactionbtn,
  .homeactionbtn tbody,
  .homeactionbtn tr {
    display: flex;
    flex-wrap: wrap;
  }
  .homeactionbtn tr td {
    display: block;
  }
  .homeactionbtn tr td.tt-nextcourse-cell {
    flex-basis: 100%;
    width: 100%;
    padding-right: 0 !important;
    margin-top: 6px;
  }
}
/* Interrupteur (on/off) pour les preferences utilisateur - "pref-" pour ne pas entrer en
   collision avec .switch (docs de la police d'icones Pixeden, non liee) */
.pref-toggle-row { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; }
.pref-toggle-row .pref-toggle-label { margin: 0; padding-right: 12px; }
.pref-toggle-row .pref-toggle-help { display: block; font-size: 12px; color: #888; margin-top: 2px; }
.pref-toggle-control { display: inline-flex; align-items: center; gap: 8px; }
.pref-toggle-switch { position: relative; display: inline-block; width: 44px; height: 24px; flex: 0 0 auto; }
.pref-toggle-switch input { opacity: 0; width: 0; height: 0; }
.pref-toggle-slider { position: absolute; cursor: pointer; top: 0; right: 0; bottom: 0; left: 0; background-color: #ccc; border-radius: 24px; transition: .2s; }
.pref-toggle-slider:before { position: absolute; content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px; background-color: #fff; border-radius: 50%; transition: .2s; }
.pref-toggle-switch input:checked + .pref-toggle-slider { background-color: #28a745; }
.pref-toggle-switch input:checked + .pref-toggle-slider:before { transform: translateX(20px); }
.pref-toggle-spinner { color: #888; font-size: 14px; }
/* 2026-09-04 : etat verrouille (ex: "Reponses anonymes" une fois qu'une reponse existe) - meme
   convention grisee/not-allowed qu'un champ disabled classique, appliquee au slider custom */
.pref-toggle-switch input:disabled + .pref-toggle-slider { opacity: .5; cursor: not-allowed; }

/* Sondages - constructeur de questions (creation) et resultats agreges (detail) */
.surveyquestionbox { margin-bottom: 10px; }
.surveychoicerow { margin-bottom: 6px; }
.survey-results-count { color: #777; font-size: 13px; }
.survey-result-question { margin-bottom: 16px; }
.survey-result-question > label { font-weight: bold; margin-bottom: 6px; display: block; }
.survey-result-bar-row { display: flex; align-items: center; margin-bottom: 4px; }
.survey-result-bar-label { flex: 0 0 35%; max-width: 35%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding-right: 8px; }
.survey-result-bar-outer { flex: 1 1 auto; background: #eee; border-radius: 3px; height: 16px; overflow: hidden; }
.survey-result-bar-inner { background-color: #E0940A; height: 100%; }
.survey-result-bar-count { flex: 0 0 auto; padding-left: 8px; font-size: 12px; color: #777; white-space: nowrap; }
.survey-result-textlist { list-style: disc; padding-left: 20px; }
.survey-result-textlist li { margin-bottom: 4px; }
/* 2026-09-04 : bandeau d'anonymat, visible en tete du sondage quel que soit l'etat affiche - reprend
   les 2 teintes deja etablies ailleurs (voir .ttw-amber) plutot que d'en introduire une nouvelle :
   "anonyme" reste neutre/rassurant, "non anonyme" reprend l'amber d'avertissement car cet etat a un
   effet reel desormais (identite visible par l'auteur) */
.survey-anon-badge { display: inline-block; padding: 4px 12px; border-radius: 14px; font-size: 12px; font-weight: 600; margin-bottom: 12px; }
.survey-anon-badge i { margin-right: 4px; }
.survey-anon-yes { background-color: #eef4f7; color: #2c6e8c; border: 1px solid #cfe3ec; }
.survey-anon-no { background-color: #fdf3e3; color: #9F6000; border: 1px solid #f0e2bb; }
.survey-named-answers th { white-space: nowrap; }
/* 2026-09-04 : sondage non anonyme - division 2 colonnes (agregat / detail nominatif) demandee par
   l'utilisateur pour que le tableau des votants ne grandisse plus indefiniment sous les resultats ;
   .survey-named-scroll fixe une hauteur max avec defilement propre + entete collante, et
   .survey-named-search est le champ de filtre par nom (voir filterSurveyNamedAnswers() en JS) */
.survey-results-split { margin-bottom: 16px; }
.survey-results-split > [class*="col-"] { margin-bottom: 16px; }
.survey-named-panel { background: #fafafa; border: 1px solid #eee; border-radius: 4px; padding: 12px; }
.survey-named-search { margin-bottom: 10px; }
.survey-named-scroll { max-height: 260px; overflow-y: auto; border: 1px solid #eee; border-radius: 4px; }
.survey-named-scroll table { margin-bottom: 0; }
.survey-named-scroll thead th { position: sticky; top: 0; background: #fafafa; }
.survey-named-empty { color: #999; font-size: 13px; padding: 8px; text-align: center; }
.modal-header { cursor: move; touch-action: none; user-select: none; -webkit-user-select: none; }
.modal-header.modal-dragging { opacity: .92; }
.note-video-or-divider { display: flex; align-items: center; text-align: center; color: #999; font-size: 12px; margin: 14px 0; }
.note-video-or-divider::before, .note-video-or-divider::after { content: ""; flex: 1; border-bottom: 1px solid #e5e5e5; }
.note-video-or-divider span { padding: 0 10px; text-transform: uppercase; }
.note-video-file-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.note-video-file-name { font-size: 13px; }

/* Modales a contenu potentiellement long (QCM depuis contenus, revue IA) : scroll interne dans
   modal-body uniquement - l'entete (modal-header) reste toujours visible/accessible */
.modal-scrollbody-dialog .modal-content { max-height: calc(100vh - 60px); display: flex; flex-direction: column; }
.modal-scrollbody-dialog .modal-header { flex: 0 0 auto; }
.modal-scrollbody-dialog .modal-body { flex: 1 1 auto; overflow-y: auto; }

.qcmContentPickerListWrap { max-height: 280px; overflow-y: auto; border: 1px solid #e5e5e5; border-radius: 4px; margin-bottom: 14px; }
.qcmContentPickerList { margin: 0; }
.qcmContentPickerList li { padding: 8px 12px; border-bottom: 1px solid #f2f2f2; }
.qcmContentPickerList li:last-child { border-bottom: none; }
.qcmContentPickerList li:hover { background-color: #f7f9fb; }
.qcmContentPickerList label.checkbox-inline { margin: 0; font-weight: normal; display: flex; align-items: flex-start; gap: 8px; cursor: pointer; line-height: 1.25; }
.qcmContentPickerList label.checkbox-inline input[type="checkbox"] { margin-top: 3px; }

/* La colonne liste et la colonne theme/specialite doivent avoir a peu pres la meme hauteur (comme la
   zone de diffusion des cours), sans pour autant laisser la liste grandir sans limite (ca forcerait
   tout le corps de la modale a defiler au lieu de garder un encart de liste compact et lisible) -
   d'ou un plafond (max-height) sur la liste elle-meme, qui garde son propre scroll interne. .coursecontentborder
   et .coursesharebox annulent volontairement leur padding exterieur (cf. formulaire de creation de
   cours) en comptant sur le padding de la modale - ici il n'y en a pas d'equivalent, donc on le
   restitue pour eviter que le contenu ne colle aux bords de la modale. */
.qcmgenfromcontent-row { display: flex; flex-wrap: wrap; }
.qcmgenfromcontent-row > .coursecontentborder,
.qcmgenfromcontent-row > .coursesharebox { flex-basis: 100%; max-width: 100%; }
@media (min-width: 992px) {
    .qcmgenfromcontent-row > .coursecontentborder { flex-basis: 66.66666667%; max-width: 66.66666667%; }
    .qcmgenfromcontent-row > .coursesharebox { flex-basis: 33.33333333%; max-width: 33.33333333%; }
}
.qcmgenfromcontent-row .coursecontentborder { display: flex; flex-direction: column; padding-left: 20px; padding-right: 20px; }
.qcmgenfromcontent-row .coursesharebox { padding-left: 20px; padding-right: 20px; }
.qcmgenfromcontent-row .coursecontentborder > p { flex: 0 0 auto; }
.qcmgenfromcontent-row .qcmContentPickerListWrap { flex: 1 1 auto; min-height: 160px; max-height: 320px; }
/* Les libelles de cette colonne etroite (ex: "Nombre de questions a generer par contenu") se
   coupent souvent sur 2 lignes - sans line-height reduit ils heritent du 1.42857 par defaut de
   bootstrap, ce qui parait exagerement aere une fois coupe. Idem pour le texte d'aide sous le champ. */
.qcmgenfromcontent-row .coursesharebox .form-group { margin-bottom: 14px; }
.qcmgenfromcontent-row .coursesharebox label { display: block; line-height: 1.2; margin-bottom: 4px; }
.qcmgenfromcontent-row .coursesharebox .smallContent { display: block; line-height: 1.25; margin-top: 4px; }
.note-video-file-clear { font-size: 12px; }

/* Regroupement visuel des 4 sources de contenu du "Nouveau QCM" en 2 blocs (Vide+Fichier / Mes
   contenus publies+Banque) - separation legere entre les deux blocs, radios d'un meme bloc collees */
.qcmsourcegroup { display: inline-block; padding: 0 14px; border-right: 1px solid #e5e5e5; }
.qcmsourcegroup:last-child { border-right: none; padding-right: 0; }
.qcmsourcegroup:first-child { padding-left: 0; }

.redlink { color: #d9534f; cursor: pointer; }
.qcmPublishedBatchItem { padding: 6px 0; border-bottom: 1px solid #f2f2f2; }
.qcmPublishedBatchItem:last-child { border-bottom: none; }
.qcmAiReviewToolbar { margin-bottom: 10px; }
#qcmPublishedCompoAddLineRow { background-color: #f9f9f9; padding: 12px; border-radius: 4px; margin-bottom: 10px; }
#qcmPublishedCompoList .bnkQCMCompoLine { padding: 6px 0; border-bottom: 1px solid #f2f2f2; }
#qcmPublishedCompoList .bnkQCMCompoLine:last-child { border-bottom: none; }
.videoLoaderOverlay { position: absolute; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.75); z-index: 2; color: #fff; pointer-events: none; }
.qcmplacechoices { display: grid; grid-template-columns: 1fr 1fr; row-gap: 6px; column-gap: 20px; }
.qcmplacechoices .blue3bschools { grid-column: 1 / 3; grid-row: 1; margin: 0 0 4px 0; }
.qcmplacechoices .qcmsourcegroup-row1 { grid-column: 1; grid-row: 2; display: flex; flex-direction: column; }
.qcmplacechoices .qcmsourcegroup-row2 { grid-column: 2; grid-row: 2; display: flex; flex-direction: column; }
.qcmplacechoices .qcmsourcegroup .radio-inline { margin: 0 0 4px 0; text-align: left; }
.ainotiflist { list-style: none; margin: 0; padding: 0; }
.ainotiflist li { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; cursor: pointer; border-bottom: 1px solid #f0f0f0; transition: background-color .15s ease; }
.ainotiflist li:last-child { border-bottom: none; }
.ainotiflist li:hover { background-color: #f8f9fa; }
.ainotif-dot { flex: 0 0 auto; width: 8px; height: 8px; margin-top: 6px; border-radius: 50%; background-color: #0073b1; }
.ainotif-read .ainotif-dot { background-color: transparent; }
.ainotif-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ainotif-title { font-size: 14px; color: #333; line-height: 1.35; }
.ainotif-unread .ainotif-title { font-weight: 500; }
.ainotif-read .ainotif-title { color: #888; font-weight: 400; }
.ainotif-date { font-size: 12px; color: #aaa; }
/* 2026-08-29 : etiquette de type devant le texte de chaque notification ("IA - ...", "Cours - ...",
   "Forum - ...") - demande utilisateur */
.ainotif-type { font-weight: 600; color: #0073b1; }
.ainotif-read .ainotif-type { color: #999; }
/* 2026-08-28 : centre de notification unifie - sous-titre "X nouvelles interactions" des notifications
   de forum (voir getAiNotificationList.php) */
.ainotif-sub { font-size: 12px; color: #0073b1; }
/* 2026-08-29 : point (pas un chiffre) sur la cloche quand un AUTRE profil de connexion a des
   nouveautes - meme bleu que .ainotif-dot (puce "non lu" de la liste), retour utilisateur (essaye en
   rouge d'abord, aligne sur .notifnb, puis corrige) */
.notifnb-other { display: inline-block; width: 6px; height: 6px; margin-left: 4px; vertical-align: super; border-radius: 50%; background-color: #0073b1; }
/* section "Autres espaces" du centre de notifications - rollup informatif, jamais interclasse avec
   .ainotiflist : style volontairement neutre/en retrait (fond legerement distinct, pas de puce bleue)
   pour ne pas se confondre avec la liste actionnable au-dessus */
.notifcenter-otherspaces { margin-top: 0; padding: 6px 14px 10px; background-color: #f7f7f7; border-top: 1px solid #eee; }
.notifcenter-otherspaces-title { font-size: 11px; color: #999; text-transform: uppercase; letter-spacing: .04em; margin: 0 0 2px; }
.notifcenter-otherspaces-list { list-style: none; margin: 0; padding: 0; }
.notifcenter-otherspaces-list li + li { margin-top: 2px; }
.notifcenter-otherspaces-list a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 4px 0; color: #777; font-size: 13px; text-decoration: none; }
.notifcenter-otherspaces-list a:hover { color: #0073b1; text-decoration: none; }
.notifcenter-otherspaces-count { flex: 0 0 auto; color: #999; font-size: 12px; }
/* 2026-08-29 : enfant suivi (Suivi Parental) sans abonnement actif - meme ligne que les autres
   "espaces", juste un cadenas discret devant le nom pour signaler l'incitation a l'abonnement
   (le compteur reste affiche volontairement - demande utilisateur) */
.notifcenter-otherspaces-lock { color: #c9a227; margin-right: 2px; font-size: 11px; }
.table-wrap-scroll { overflow-x: auto; margin-bottom: 15px; }
.table-wrap-scroll table { margin-bottom: 0; }
.table-wrap-tall { max-height: 280px; overflow-y: auto; border: 1px solid #eee; border-radius: 4px; }
.table-wrap-tall table { border: none; }
.table-wrap-tall thead th { position: sticky; top: 0; background-color: #fafafa; z-index: 1; font-weight: 400; }
.ttwarnnav { padding: 6px 10px; margin-bottom: 12px; background-color: #fafafa; border: 1px solid #eee; border-radius: 4px; font-size: 12px; }
.ttwarnnav div + div { margin-top: 4px; }
.ttwarnnav a { cursor: pointer; }
.ttwarnnav a.ttw-amber, .ttwarnnav a.ttw-amber i { color: #9F6000; }
.ttwarnnav a.ttw-red, .ttwarnnav a.ttw-red i { color: #A94442; }
.ttw-sectiontitle { font-weight: 400; margin-bottom: 6px; }
.ttw-sectiontitle .badge { font-weight: 400; margin-left: 4px; background-color: #eee; color: #777; }
/* ligne informative (pas un avertissement) - reste neutre pour ne pas concurrencer les couleurs de severite (amber/rouge) ci-dessous */
.ttw-summary { font-size: 15px; font-weight: 600; color: #333; margin-bottom: 10px; }
/* reprend les couleurs deja utilisees ailleurs dans l'appli (.warning_color = amber, .red_color = rouge) plutot que d'en introduire de nouvelles, en version claire - 2 niveaux de severite seulement, pas de 3e teinte */
.ttw-amber.ttw-sectiontitle, .ttw-amber.ttw-sectiontitle i { color: #9F6000; }
.ttw-amber.table-wrap-tall { border-color: #f0e2bb; }
.ttw-amber.table-wrap-tall thead th { color: #9F6000; border-bottom: 1px solid #f0e2bb; }
.ttw-red.ttw-sectiontitle, .ttw-red.ttw-sectiontitle i { color: #A94442; }
.ttw-red.table-wrap-tall { border-color: #f0d5d5; }
.ttw-red.table-wrap-tall thead th { color: #A94442; border-bottom: 1px solid #f0d5d5; }
.ttw-subjectlist { list-style: none; padding: 0; margin: 4px 0 0; font-size: 11px; color: #777; max-width: 320px; }
.ttw-subjectlist li { margin-bottom: 6px; }
.ttw-subjectlist li.ttw-subjectmore { font-style: italic; }
/* specificite (0,2,3), necessaire pour l'emporter sur la regle Bootstrap 3
   ".table > tbody > tr > td { vertical-align: top; }" (0,1,3) - meme correctif que
   .ttw-reassigntable plus bas */
.table.ttw-workloadtable > tbody > tr > td { vertical-align: middle; }
.ttw-workloadtable th:first-child, .ttw-workloadtable td:first-child { width: 38%; }
/* boutons "Reaffecter" : .btn-default/.btn-primary sont redefinis en gros pill par le CSS de la
   page publique (css-index_110624.css, charge sur toute l'appli) - meme correctif deja applique
   a .tt-toolbar .btn, proportions Bootstrap 3 standard */
.ttw-reassign-btn { font-size: 14px; line-height: 1.42857143; padding: 6px 12px; height: auto; border-radius: 4px; vertical-align: middle; margin: 0; }
.ttw-reassign-btn.btn-xs { font-size: 12px; padding: 1px 5px; }
/* modale de reaffectation (openReassignModal) : tableau pleine largeur avec defilement interne
   (meme mecanisme que les tableaux d'avertissements - table-wrap-scroll/table-wrap-tall,
   deja definis plus haut) plutot qu'une liste, pour un rendu plus lisible avec beaucoup de
   matieres - voir echange utilisateur */
.ttw-reassigntable .ttw-hoursinput { width: 64px; padding: 2px 4px; height: 28px; font-size: 13px; }
.ttw-reassigntable .ttw-targetselect { min-width: 180px; padding: 2px 4px; height: 28px; font-size: 13px; }
/* ligne "surcharge a resorber" en tete de la modale de reaffectation - mise a jour en place
   apres chaque transfert (renderReassignModalContent) */
.ttw-reassign-target { font-size: 15px; font-weight: 600; color: #A94442; margin: 0 0 12px; }
.ttw-reassign-target i { margin-right: 6px; }
/* specificite (0,2,3) necessaire pour l'emporter sur la regle Bootstrap 3
   ".table > tbody > tr > td { vertical-align: top; }" (0,1,3) - un simple ".ttw-reassigntable td"
   (0,1,1) perdait silencieusement face a elle, sans effet visible malgre la regle presente */
.table.ttw-reassigntable > tbody > tr > td { vertical-align: middle; }
.oauth-login-section { display: flex; gap: 10px; margin-bottom: 18px; }
.oauth-btn { flex: 1 1 0; min-width: 0; display: flex; align-items: center; justify-content: center; padding: 12px; border-radius: 6px; border: 1px solid #ddd; background-color: #fff; text-decoration: none; }
.oauth-btn:hover, .oauth-btn:focus { text-decoration: none; box-shadow: 0 1px 4px rgb(0 0 0 / .1); }
.oauth-btn-facebook { background-color: #1877f2; border-color: #1877f2; color: #fff; font-size: 20px; }
.oauth-btn-facebook:hover, .oauth-btn-facebook:focus { color: #fff; background-color: #166fe0; }
.oauth-or-sep { display: flex; align-items: center; margin: 0 0 18px 0; color: #e5e5e5; font-size: 12px; text-transform: uppercase; letter-spacing: .5px; }
.oauth-or-sep::before, .oauth-or-sep::after { content: ""; flex: 1 1 auto; border-top: 1px solid #e5e5e5; }
.oauth-or-sep::before { margin-right: 10px; }
.oauth-or-sep::after { margin-left: 10px; }
/* 2026-08-29 : nouvelle modale "Aller vers le forum" depuis une modale de contenu (demande
   utilisateur) - liste des sujets a gauche + fil selectionne a droite, style plus sobre/coherent
   avec le reste de l'appli (bleu #0073b1, cartes plates, bordures fines) que le gabarit classique
   de la page forum (vForumSubject.html et consorts, non touches - fichiers *Modal.html separes) */
/* 2026-08-30 : la tentative de bornage (max-height:70vh sur .forumcenter-box + overflow-y:auto imbrique)
   a ete retiree le jour meme - #myContentLinkModal porte modal-dialog-scrollable (classe Bootstrap 4)
   mais l'appli charge Bootstrap 3.4.1 (voir appViewModel.html), qui ne connait pas cette classe : aucun
   scroll de secours n'existe au niveau modal-body, donc borner un element imbrique cassait l'empilement
   modale-sur-modale (cette modale forum s'ouvre PAR-DESSUS la modale de contenu deja ouverte) au lieu de
   simplement faire defiler. Revert a la croissance naturelle (comportement identique aux autres modales
   de l'appli) en attendant une vraie solution (ex. classe scrollbody dediee, deja utilisee ailleurs). */
.forumcenter-box { display: grid; grid-template-columns: 220px minmax(0, 1fr); min-height: 320px; }
.forumcenter-list { border-right: 1px solid #eee; background-color: #fafafa; display: flex; flex-direction: column; }
.forumcenter-list-head { padding: 12px 14px; border-bottom: 1px solid #eee; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.forumcenter-list-count { font-size: 11px; color: #999; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.forumcenter-newsubject { font-size: 12px; color: #0073b1; font-weight: 500; cursor: pointer; white-space: nowrap; }
.forumcenter-newsubject:hover { text-decoration: underline; }
.forumcenter-list-items { list-style: none; margin: 0; padding: 0; overflow-y: auto; }
.forumcenter-row { padding: 10px 14px; border-left: 3px solid transparent; cursor: pointer; }
.forumcenter-row:hover { background-color: #f0f0f0; }
.forumcenter-row-active { border-left-color: #0073b1; background-color: #eaf3fb; }
.forumcenter-row-active:hover { background-color: #eaf3fb; }
.forumcenter-row-head { display: flex; align-items: center; gap: 8px; margin-bottom: 3px; }
.forumcenter-row-head img { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.forumcenter-row-author { font-size: 12px; font-weight: 500; color: #222; }
.forumcenter-row-text { font-size: 12px; color: #555; line-height: 1.4; margin: 0 0 3px; max-height: 2.8em; overflow: hidden; }
.forumcenter-row-foot { display: flex; align-items: center; justify-content: space-between; }
.forumcenter-row-date { font-size: 11px; color: #999; }
.forumcenter-detail { padding: 16px 20px; display: flex; flex-direction: column; min-width: 0; }
.forumcenter-thread-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.forumcenter-thread-head img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.forumcenter-thread-title { font-size: 13px; font-weight: 500; color: #222; margin: 0; }
.forumcenter-thread-meta { font-size: 11px; color: #999; margin: 0; }
.forumcenter-thread-body { font-size: 13px; color: #444; line-height: 1.6; margin: 0 0 14px; padding-bottom: 14px; border-bottom: 1px solid #eee; }
/* 2026-08-29 (signalement utilisateur) : .forum_empty_answer (partagee avec le gabarit classique)
   porte un margin-left:-10px calibre pour SON contexte de padding a lui - decale a tort le message
   "Aucune reaction..." par rapport aux autres blocs (titre, "Votre Reponse", etc.) dans .forumcenter-detail */
.forumcenter-detail .forum_empty_answer { margin-left: 0; margin-right: 0; }
.forumcenter-author { color: #0073b1; font-weight: 500; }
.forumcenter-reply { padding: 12px 0; border-bottom: 1px solid #f0f0f0; }
.forumcenter-reply-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.forumcenter-reply-head img { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.forumcenter-reply-headtext { display: flex; flex-direction: column; }
.forumcenter-reply-date { font-size: 11px; color: #999; }
.forumcenter-reply-body { font-size: 13px; color: #444; line-height: 1.6; }
.forumcenter-reply-foot { text-align: right; font-size: 11px; color: #999; margin-top: 4px; }
/* 2026-08-30 (signalement utilisateur) : le bandeau de la modale "Aller vers le forum" restait vert
   (.greenbg3bschools, couleur generique de #modal-content-link-header, jamais surchargee par
   getContentForumLinkZone() - aucun de ses 6 appelants ne passe de bgColor) alors que tout le reste de
   la modale suit deja le bleu #0073b1 du nouveau style forumcenter - incoherent. Nouvelle classe dediee. */
.forumcenter-modalheader { color: #fff !important; background-color: #0073b1; }
.forumcenter-reply-foot .cursor:hover { color: #0073b1; }
.forumcenter-replybox { margin-top: auto; padding-top: 12px; }
.forumcenter-replybox-head { display: flex; align-items: center; justify-content: space-between; margin: 0 0 6px; }
.forumcenter-replybox-title { font-size: 12px; color: #777; font-weight: 500; margin: 0; }
.forumcenter-richtoggle { font-size: 12px; color: #777; display: flex; align-items: center; gap: 5px; cursor: pointer; font-weight: 400; }
.forumcenter-replybox-field textarea { width: 100%; min-height: 90px; resize: vertical; border: 1px solid #ddd; border-radius: 8px; padding: 10px 12px; font-size: 13px; color: #333; }
.forumcenter-replybox-field textarea:focus { outline: none; border-color: #0073b1; }
.forumcenter-replybox-actions { text-align: right; margin-top: 10px; }
@media (max-width: 640px) {
    .forumcenter-box { grid-template-columns: 1fr; }
    .forumcenter-list { border-right: none; border-bottom: 1px solid #eee; max-height: 180px; }
}

/* ===== Tronc commun / regroupements UE — 2026-09-10 (demande utilisateur : styler le
   formulaire et tout le parcours "comme sur la maquette") ============================
   Surface partagee : modale Nouveau/Modifier regroupement (getAddUEGroupingForm.php),
   liste des regroupements declares (#ueg_container) et ecran de revue des suggestions
   (#uegsug_container). Tout est porte sous .ueg-ui — aucune regle ne fuit ailleurs.
   Palette calquee sur la maquette HTML validee. App mono-theme (clair). */
.ueg-ui{--ueg-primary:#32519e;--ueg-primary-ink:#22397a;--ueg-primary-tint:#e7ecfa;--ueg-accent:#c17a2e;--ueg-accent-tint:#fbf0e1;--ueg-success:#1f8a6e;--ueg-success-tint:#e4f5ef;--ueg-danger:#c4463a;--ueg-danger-tint:#fbeae8;--ueg-border:#dce2ee;--ueg-surface:#fff;--ueg-surface-alt:#eef1f8;--ueg-text:#1c2333;--ueg-muted:#616b82;--ueg-faint:#8c95ab;color:var(--ueg-text)}
.ueg-ui *{box-sizing:border-box}
.ueg-intro{font-size:13px;color:var(--ueg-muted);margin:0 0 14px;line-height:1.5}
.ueg-empty{display:flex;align-items:center;gap:8px;color:var(--ueg-faint);font-style:italic;padding:16px 4px;margin:0}
.ueg-callout{display:flex;gap:10px;background:var(--ueg-primary-tint);border:1px solid #c7d3f0;border-radius:8px;padding:11px 14px;margin:0 0 16px;font-size:12.5px;line-height:1.5;color:var(--ueg-text)}
.ueg-callout>.fa{color:var(--ueg-primary-ink);margin-top:2px;flex:none}
.ueg-callout em{color:var(--ueg-muted);font-style:italic}
/* --- listes de cartes (declares + suggestions) --- */
.ueg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ueg-card{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 14px;background:var(--ueg-surface);border:1px solid var(--ueg-border);border-radius:10px;padding:13px 15px;box-shadow:0 1px 2px rgba(28,35,51,.05)}
.ueg-card.is-suggestion{border-left:3px solid var(--ueg-accent)}
.ueg-ava{flex:none;width:36px;height:36px;border-radius:50%;background:var(--ueg-primary-tint);color:var(--ueg-primary-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px}
.ueg-ava-accent{background:var(--ueg-accent-tint);color:var(--ueg-accent)}
.ueg-card-main{flex:1 1 220px;min-width:0}
.ueg-card-title{font-weight:600;font-size:13.5px;color:var(--ueg-text)}
.ueg-card-sub{color:var(--ueg-muted);font-size:12.5px;margin-top:1px}
.ueg-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.ueg-chip{background:var(--ueg-surface-alt);border:1px solid var(--ueg-border);color:var(--ueg-muted);font-size:11px;padding:2px 8px;border-radius:999px;white-space:nowrap}
.ueg-card-meta{margin-top:7px;font-size:11.5px;color:var(--ueg-faint)}
.ueg-card-meta .fa{margin-right:4px}
.ueg-note{margin-top:7px;font-size:11.5px;color:var(--ueg-faint);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
/* periode a laquelle un regroupement/suggestion s'applique reellement (voir getUEGroupingPeriodLabel,
   bbdTools.php) - repere purement informatif, sans lui rien ne signalait qu'un regroupement puisse
   provenir d'une affectation faite pour une AUTRE periode que celle generee ensuite */
.ueg-period{margin-left:6px;padding-left:6px;border-left:1px solid var(--ueg-border);color:var(--ueg-primary)}
.ueg-period .fa{margin-right:3px}
.ueg-card-stats{flex:0 1 auto;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.ueg-stat{text-align:center;line-height:1.2}
.ueg-stat-n{display:block;font-size:15px;font-weight:700;color:var(--ueg-text)}
.ueg-stat-l{display:block;font-size:10px;color:var(--ueg-faint);text-transform:uppercase;letter-spacing:.03em}
.ueg-card-actions{flex:0 0 auto;margin-left:auto;display:flex;align-items:center;gap:11px}
.ueg-card-actions .fa{cursor:pointer;color:var(--ueg-faint);font-size:14px}
.ueg-card-actions .fa:hover{color:var(--ueg-primary)}
/* Matieres co-enseignees (mode alternance/simultane) - reutilise directement le gabarit de carte
   .ueg-* (voir buildUEGroupingListHtml()/le bloc ci-dessus) pour rester coherent visuellement avec
   l'ecran Tronc commun juste a cote dans le menu Configurations - seul le bouton de bascule est
   propre a cet ecran, en .btn-info (jamais .btn-default/.btn-primary bruts ici, voir memoire
   project_3bschool_btn_default_primary_css_leak - recurrent, la CSS de la page publique les
   transforme en enormes pilules dans l'app connectee) */
.ueg-card-actions .btn{font-size:11px;padding:4px 10px;line-height:1.4;border-radius:4px}
.ueg-card-actions .btn .fa{color:inherit;font-size:11px;cursor:default}
.ueg-card-actions .deleltclass:hover{color:var(--ueg-danger)}
/* badge d'etat aligne sur la hauteur REELLE du bouton de bascule juste a cote - plutot qu'une
   hauteur fixe devinee independamment pour les 2, le badge reprend exactement le meme padding/
   line-height/bordure que .ueg-card-actions .btn ci-dessus (le badge n'a nativement pas de bordure,
   le bouton .btn si - sans ce bord transparent equivalent les 2 elements ne matchent jamais malgre
   un font-size identique, repere utilisateur, capture d'ecran 2026-09-11). Scope a cet ecran
   uniquement pour ne rien changer au Tronc commun, qui reutilise aussi .ueg-badge ailleurs. */
#coteaching_container .ueg-card-stats .ueg-badge{padding:4px 9px;line-height:1.4;border:1px solid transparent;box-sizing:border-box}
/* en-tete de groupe par periode (meme besoin que .feeschedule-period-group, gabarit .ueg-* ici) */
.ueg-period-group-title{font-size:13px;font-weight:700;color:var(--ueg-muted);margin:16px 0 8px;text-transform:uppercase;letter-spacing:.03em}
.ueg-period-group-title:first-child{margin-top:0}
.ueg-period-group-title .fa{margin-right:5px;color:var(--ueg-primary)}
/* suggestions : les 3 boutons prennent toujours leur propre ligne, en pied de carte */
.ueg-card-actions-btns{flex:1 1 100%;margin-left:0;justify-content:flex-start;flex-wrap:wrap;gap:6px;max-width:none;margin-top:2px;padding-top:10px;border-top:1px solid var(--ueg-border)}
/* --- badges --- */
.ueg-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 9px;border-radius:999px;white-space:nowrap}
.ueg-badge-ok{background:var(--ueg-success-tint);color:var(--ueg-success)}
.ueg-badge-ok .fa-circle{font-size:7px}
.ueg-badge-warn{background:var(--ueg-danger-tint);color:var(--ueg-danger)}
.ueg-badge-accent{background:var(--ueg-accent-tint);color:var(--ueg-accent)}
.ueg-badge-muted{background:var(--ueg-surface-alt);color:var(--ueg-faint)}
/* --- petits boutons (suggestions) --- */
.ueg-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:5px 11px;border-radius:6px;border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap}
.ueg-btn-ghost{background:transparent;border-color:var(--ueg-border);color:var(--ueg-muted)}
.ueg-btn-ghost:hover,.ueg-btn-ghost:focus{background:var(--ueg-surface-alt);color:var(--ueg-text);text-decoration:none}
.ueg-btn-accent{background:var(--ueg-accent);color:#fff}
.ueg-btn-accent:hover,.ueg-btn-accent:focus{filter:brightness(1.08);color:#fff;text-decoration:none}
/* --- formulaire de la modale --- */
.ueg-form .ueg-field{margin-bottom:16px}
.ueg-form .ueg-field>label{display:block;font-size:12.5px;font-weight:600;color:var(--ueg-muted);margin-bottom:6px}
.ueg-form .ueg-field>label>.fa{color:var(--ueg-primary);margin-right:6px}
.ueg-form .ueg-field small{display:block;margin-top:5px;color:var(--ueg-faint);font-size:11.5px}
.ueg-table-wrap{overflow-x:auto;border:1px solid var(--ueg-border);border-radius:8px}
.ueg-class-table{margin:0;font-size:13px;background:var(--ueg-surface)}
.ueg-class-table>thead>tr>th{border:0;border-bottom:1px solid var(--ueg-border);font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--ueg-faint);font-weight:600;padding:8px 10px}
.ueg-class-table>tbody>tr>td{border-top:0;border-bottom:1px solid var(--ueg-surface-alt);padding:9px 10px;vertical-align:middle}
.ueg-class-table>tbody>tr:last-child>td{border-bottom:0}
.ueg-class-table tr.is-off{opacity:.5}
.ueg-crow-lbl{display:flex;align-items:center;gap:8px;margin:0;font-weight:600;cursor:pointer}
.ueg-crow-lbl input{margin:0;flex:none}
.ueg-class-table thead .ueg-selectall{display:inline-flex;align-items:center;gap:6px;margin:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit}
.ueg-class-table thead .ueg-selectall input{margin:0;flex:none;cursor:pointer}
.ueg-suggest-head{display:flex;justify-content:flex-end;margin:0 0 12px}
.ueg-suggest-head .ueg-btn .fa{margin-right:2px}
.ueg-num{font-variant-numeric:tabular-nums;color:var(--ueg-muted);white-space:nowrap}
.ueg-summary{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:14px;background:var(--ueg-surface-alt);border:1px solid var(--ueg-border);border-radius:8px;padding:12px 16px}
.ueg-summary-stat{line-height:1.2}
.ueg-summary-n{display:block;font-size:16px;font-weight:700;color:var(--ueg-text);font-variant-numeric:tabular-nums}
.ueg-summary-l{display:block;font-size:11px;color:var(--ueg-muted)}
.ueg-summary-warn{flex:1;min-width:200px;display:flex;align-items:center;gap:7px;color:var(--ueg-accent);font-size:12px;font-weight:600}
.ueg-foot{text-align:right;margin-bottom:0}
/* --- champ "plafond d'apprenants par regroupement" en tete du panneau (2026-09-10) --- */
.ueg-settings{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:var(--ueg-surface-alt);border:1px solid var(--ueg-border);border-radius:10px;padding:12px 14px;margin:0 0 14px}
.ueg-settings>label{margin:0;font-size:12.5px;font-weight:600;color:var(--ueg-muted);display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.ueg-settings>label>.fa{color:var(--ueg-primary)}
.ueg-settings>input[type=number]{width:78px;padding:6px 9px;border:1px solid var(--ueg-border);border-radius:8px;background:var(--ueg-surface);color:var(--ueg-text);font-size:13.5px;font-variant-numeric:tabular-nums;text-align:center}
.ueg-settings>input[type=number]:focus{outline:none;border-color:var(--ueg-primary);box-shadow:0 0 0 3px rgba(50,81,158,.15)}
.ueg-settings-hint{flex:1;min-width:220px;font-size:11.5px;color:var(--ueg-faint);line-height:1.45}
@media (max-width:520px){
  .ueg-card-actions{margin-left:0}
  .ueg-summary{gap:14px 18px}
  .ueg-settings-hint{flex-basis:100%}
}

/* Synopsis des matieres (Phase 1) - tout est porte sous .syn-ui, aucune regle ne fuit ailleurs.
   Evite volontairement .btn-default/.btn-primary (fuite de css-index_110624.css, voir memoire). */
.syn-ui{--syn-primary:#32519e;--syn-ink:#22397a;--syn-tint:#e7ecfa;--syn-ok:#1f8a6e;--syn-ok-tint:#e4f5ef;--syn-warn:#b7791f;--syn-warn-tint:#fbf0e1;--syn-border:#dce2ee;--syn-alt:#eef1f8;--syn-text:#1c2333;--syn-muted:#616b82;color:var(--syn-text)}
.syn-ui *{box-sizing:border-box}
.syn-intro,.syn-hint{font-size:13px;line-height:1.5;color:var(--syn-muted);margin:0 0 10px}
.syn-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.syn-toolbar .form-control{flex:1;min-width:200px;max-width:420px}
.syn-count{font-size:12px;color:var(--syn-muted)}
.syn-tablewrap{overflow-x:auto;max-height:520px;overflow-y:auto;border:1px solid var(--syn-border);border-radius:6px}
.syn-table{width:100%;border-collapse:collapse;font-size:13px}
.syn-table th{position:sticky;top:0;background:var(--syn-alt);text-align:left;padding:7px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--syn-muted);white-space:nowrap}
.syn-table td{padding:7px 10px;border-top:1px solid var(--syn-border);vertical-align:middle}
.syn-c-code{font-weight:700;white-space:nowrap}
.syn-c-cov{white-space:nowrap;font-variant-numeric:tabular-nums}
.syn-c-act{text-align:right;white-space:nowrap}
.syn-muted{color:var(--syn-muted);font-size:12px}
.syn-badge{display:inline-block;padding:2px 9px;border-radius:10px;font-size:11px;font-weight:700}
.syn-badge-none{background:var(--syn-alt);color:var(--syn-muted)}
.syn-badge-draft,.syn-badge-prop{background:var(--syn-warn-tint);color:var(--syn-warn)}
.syn-badge-ok{background:var(--syn-ok-tint);color:var(--syn-ok)}
.syn-cov-ok{color:var(--syn-ok);font-weight:700}
.syn-cov-warn{color:var(--syn-warn);font-weight:700}
.syn-empty{padding:14px;color:var(--syn-muted)}
.syn-head{border-bottom:2px solid var(--syn-primary);padding-bottom:8px;margin-bottom:12px}
.syn-head-title{font-size:18px;font-weight:700;color:var(--syn-ink)}
.syn-head-meta{margin-top:4px}
.syn-themes-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:6px}
.syn-total{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.syn-theme{border:1px solid var(--syn-border);border-radius:6px;padding:8px;margin-bottom:8px;background:#fff}
.syn-theme-head{display:flex;gap:8px;align-items:center;margin-bottom:6px;flex-wrap:wrap}
.syn-theme-num{flex:0 0 26px;height:26px;border-radius:50%;background:var(--syn-tint);color:var(--syn-ink);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
.syn-t-title{flex:1;min-width:180px}
.syn-t-hours{width:90px}
.syn-theme-tools{display:flex;gap:4px}
.btn-default-syn{background:#fff;border:1px solid var(--syn-border);color:var(--syn-muted)}
.btn-default-syn:hover{background:var(--syn-alt)}
.syn-eval{margin-top:12px}
.syn-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--syn-border);display:flex;gap:8px;flex-wrap:wrap}
.syn-sec h5{margin:14px 0 6px;font-weight:700;color:var(--syn-ink);border-bottom:1px solid var(--syn-border);padding-bottom:3px}
.syn-rich{font-size:13.5px;line-height:1.55;overflow-wrap:anywhere}
.syn-rich table{border-collapse:collapse;max-width:100%}
.syn-rich td,.syn-rich th{border:1px solid var(--syn-border);padding:3px 7px}
.syn-theme-read{border:1px solid var(--syn-border);border-radius:6px;margin-bottom:8px}
.syn-theme-read-head{display:flex;justify-content:space-between;gap:10px;background:var(--syn-alt);padding:6px 10px}
.syn-theme-read .syn-rich{padding:6px 10px}
.syn-hours-pill{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.syn-total-read{text-align:right;margin:4px 0 0}
.syn-parent{font-size:11.5px;color:var(--syn-muted);margin-top:1px}
.syn-ico{font-size:14px}
.syn-ico-ok{color:#1f8a6e}
.syn-ico-off{color:#c3c8d4;cursor:default}
.syn-notice{margin:0 0 12px;padding:8px 12px;border-radius:6px;background:#eef1f8;color:#22397a;font-size:13px}
.syn-notice-prop{background:#fbf0e1;color:#8a5a12}
.syn-back{margin:0 0 8px;font-size:13px}
.syn-row-prop td{background:#fdf7ec}
.syn-pendingbtn.active{box-shadow:inset 0 0 0 2px #8a5a12}
.syn-impsum{margin:10px 0}
.syn-impsum .syn-badge{margin-right:6px}
.syn-check{font-weight:400;margin-right:12px}
.syn-badge-late{background:#fbeae8;color:#c4463a}
.prep-box{margin:12px 0;padding:10px 12px;border:1px solid #dce2ee;border-radius:6px;background:#f8f9fd}
.prep-title{margin:0 0 6px;font-weight:700;color:#22397a}
.prep-hint{margin:0 0 6px;font-size:12.5px;color:#616b82}
.prep-return{margin:0 0 6px;padding:6px 10px;border-radius:6px;background:#fbf0e1;color:#8a5a12;font-size:12.5px}
.prep-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.prep-chips li{padding:2px 10px;border-radius:12px;background:#e7ecfa;color:#22397a;font-size:12.5px}
.prep-theme{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0;border-bottom:1px solid #eef1f8}
.prep-theme label{font-weight:400;margin:0;flex:1;min-width:200px}
.prep-th-hours{width:90px}
.prep-others{display:flex;flex-direction:column;gap:2px;max-height:170px;overflow:auto}
.prep-other{font-weight:400;margin:0}
.prep-slots{padding-left:18px}
.prep-settings{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:8px 0 12px}
.prep-settings label{font-weight:400;margin:0}
.prep-delay{display:inline-block;width:80px}
.prep-comment{display:inline-block;width:260px}
.prep-h{margin:16px 0 6px;font-weight:700;color:#22397a}
.prep-ui .syn-head-title{font-size:16px}
.prog-bar{position:relative;display:inline-block;vertical-align:middle;width:120px;height:10px;border-radius:5px;background:#e3e7f1;overflow:visible}
.prog-bar-fill{height:100%;border-radius:5px;background:#32519e}
.prog-bar-exp{position:absolute;top:-3px;width:2px;height:16px;background:#c4463a}
.prog-pct{font-size:12px;font-weight:700;margin-left:6px}
.prog-themes{list-style:none;padding:0;margin:8px 0 0}
.prog-theme{padding:5px 0;border-bottom:1px solid #eef1f8}
.prog-theme-todo{color:#616b82}
.prog-ok{color:#1f8a6e}.prog-part{color:#b7791f}.prog-todo{color:#a9b0c2}
.prep-chips-todo li{background:#eef1f8;color:#616b82}
.cov-box{margin:10px 0;padding:8px 10px;border:1px solid #dce2ee;border-radius:6px;background:#f8f9fd}
.cov-row{display:flex;align-items:center;gap:8px;padding:3px 0}
.cov-title{flex:1;font-size:13px}
.cov-sel{width:140px}
.cov-box-empty{background:#fbf6ea;border-color:#ecd9b0}
.prep-date{display:inline-block;width:150px}
/* Icones d'acces rapide de la zone d'en-tete (affectations, synopsis, fiches, progression) : petits boutons colores et espaces, au lieu d'icones grises collees */
.hdr-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:6px;border-radius:7px;cursor:pointer;vertical-align:middle;box-shadow:0 1px 3px rgba(20,30,60,.18);transition:filter .12s ease}
.hdr-btn i{color:#fff!important;font-size:13px!important;line-height:1;margin:0!important;padding:0!important}
.hdr-btn:hover{filter:brightness(1.12)}
.hdr-btn:focus,.hdr-btn:active{outline:2px solid rgba(50,81,158,.45);outline-offset:2px}
.hdr-btn-list{background:#6c7a99}
.hdr-btn-syn{background:#32519e}
.hdr-btn-prep{background:#c17a2e}
.hdr-btn-prog{background:#1f8a6e}
@media (max-width:520px){.hdr-btn{width:32px;height:32px;margin-left:5px}}
.hdr-btn-copy{background:#2f8fb5} .hdr-btn-gear{background:#4d5a78}
.modal-header.hdrbg-list{background-color:#6c7a99!important}
.modal-header.hdrbg-syn{background-color:#32519e!important}
.modal-header.hdrbg-prep{background-color:#c17a2e!important}
.modal-header.hdrbg-prog{background-color:#1f8a6e!important}
.modal-header.hdrbg-gear{background-color:#4d5a78!important}
.modal-header.hdrbg-qcm{background-color:#47A447!important}
.modal-header.hdrbg-stdok{background-color:#5cb85c!important}
.modal-header.hdrbg-stdwait{background-color:#f0ad4e!important}
.modal-header.hdrbg-stdsusp{background-color:#5bc0de!important}
.modal-header.hdrbg-gen{background-color:#5cb85c!important}
.modal-header.hdrbg-tadd{background-color:#0073b1!important}
.modal-header.hdrbg-logb{background-color:#5bc0de!important}
.modal-header.hdrbg-stdsusp{background-color:#7b8794!important}
.btn.btn-susp{color:#fff;background-color:#7b8794;border-color:#6c7784}
.btn.btn-susp:hover,.btn.btn-susp:focus,.btn.btn-susp:active{color:#fff;background-color:#6a7683;border-color:#5d6874}
.modal-header.hdrbg-twarn{background-color:#f0ad4e!important}
.modal-header.hdrbg-timp{background-color:#5bc0de!important}
.landing.parallax:has(>.backgreen3B){margin-top:18px}
body:has(.backgreen3B) .navbar-nav>li>a.btn3BSchlink{color:#132a6b!important;border:1.5px solid #132a6b;border-radius:999px;padding:5px 18px;margin:11px 0 0 8px;line-height:20px;font-weight:500;transition:background-color .15s ease,color .15s ease}
body:has(.backgreen3B) .navbar-nav>li>a.btn3BSchlink:hover,body:has(.backgreen3B) .navbar-nav>li>a.btn3BSchlink:focus{background-color:#132a6b;color:#fff!important}
body:has(.backgreen3B) .navbar-default{box-shadow:none}
.signup-header .clearlink:hover,.signup-header .clearlink:focus{color:#fff!important}
.signup-header .clearlink.langactive{color:#fff!important;text-decoration:underline;text-underline-offset:3px}
#contact-form button[name="send"]{font-weight:400!important;font-size:14px!important}
#setting-list .cfg-group-header{border:none!important;background:transparent!important;padding:14px 15px 6px!important;margin:0;font-size:12px;font-weight:700;color:#8a8f98;text-transform:uppercase;letter-spacing:.4px}
#setting-list .cfg-group-header:first-child{padding-top:2px!important}
#setting-list .cfg-group-header + li.list-group-item{border-top-width:1px!important;border-top-left-radius:4px!important;border-top-right-radius:4px!important}
#setting-list li.list-group-item:has(+ .cfg-group-header){border-bottom-left-radius:4px!important;border-bottom-right-radius:4px!important}
.staffhourlyratebadge{background-color:#5f6673;color:#fff;font-weight:400;vertical-align:middle}
.payroll-lock-badge{background:#fcf3e3;border:1px solid #f0dcae;border-radius:4px;padding:8px 12px;margin-bottom:10px}
.payroll-lock-badge i{color:#c17a2e;margin-right:6px}
.act-ico{font-size:14px}
.act-ico-ok{color:#1f8a6e}
.act-ico-off{color:#c3c8d4;cursor:default}
.syn-t-activity{width:150px}
.syn-activity-subtotals{font-size:12px;color:#666;margin:4px 0 8px}
.syn-activity-badge{font-size:11px;font-weight:400;color:#555;background:#eef1f8;border-radius:3px;padding:1px 6px;margin-left:6px}
.syn-activity-subtotals-read{margin-top:2px}

.staffpayrollsection{border:1px solid #dfe5ec;border-radius:4px;padding:4px 15px 2px;margin:4px 0 15px;background:#f8fafc}.staffpayrollsection legend{width:auto;border:0;margin:0;padding:0 8px;font-size:14px;font-weight:600;color:#2c6aa0}.staffpayrollsection .staffpayrollhint{margin-top:0}

@media (min-width:768px){#setting-list>li.list-group-item>[id$="_container"]{padding-left:61px}#setting-list>li.list-group-item>[id$="_container"]>[class*="col-"],#setting-list>li.list-group-item>[id$="_container"]>form>[class*="col-"],#setting-list>li.list-group-item>[id$="_container"]>.eltlist{padding-left:0}#setting-list>li.list-group-item>[id$="_container"]>[class*="col-"]>.eltlist{padding-left:0}}
.matact-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}.matact-item{display:flex;align-items:center;gap:14px;padding:10px 12px;border:1px solid #e3e8ee;border-radius:8px;background:#fff;transition:border-color .15s,background-color .15s}.matact-item:hover{border-color:#c9d6e3;background:#f8fafc}.matact-code{flex:0 0 auto;min-width:64px;padding:6px 10px;border-radius:6px;border:1px solid transparent;font-weight:700;font-size:14px;line-height:1.2;text-align:center;letter-spacing:.3px}.matact-tone0{background:#e7f1f9;color:#0b5f99;border-color:#c9dff0}.matact-tone1{background:#e3f4f1;color:#0e7266;border-color:#c3e6df}.matact-tone2{background:#fcf1e1;color:#8f530b;border-color:#f3dcb8}.matact-tone3{background:#efebfa;color:#5b43a8;border-color:#dcd3f3}.matact-tone4{background:#fbe9ee;color:#a3304f;border-color:#f3cbd6}.matact-meta{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;color:#4a5461;font-size:13px}.matact-coef{display:inline-flex;align-items:center;gap:8px}.matact-coef-label b{color:#1f2a36;font-variant-numeric:tabular-nums}.matact-gauge{display:inline-block;width:64px;height:6px;border-radius:3px;background:#e9eef3;overflow:hidden}.matact-gauge span{display:block;height:100%;border-radius:3px;background:#0172b6}.matact-room{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:12px;background:#f1f4f7;color:#4a5461}.matact-room-special{background:#fff4e0;color:#8a5208}.matact-del{flex:0 0 auto;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:#9aa4ae;display:inline-flex;align-items:center;justify-content:center;font-size:15px;transition:color .15s,background-color .15s,border-color .15s}.matact-del:hover,.matact-del:focus-visible{color:#c0392b;background:#fdecea;border-color:#f5c6c1;outline:none}
.matact-edit{flex:0 0 auto;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:#9aa4ae;display:inline-flex;align-items:center;justify-content:center;font-size:15px;transition:color .15s,background-color .15s,border-color .15s}.matact-edit:hover,.matact-edit:focus-visible{color:#0172b6;background:#e7f1f9;border-color:#c9dff0;outline:none}.matact-edit+.matact-del{margin-left:-8px}
#setting-list>li.list-group-item>[id$="_container"] .eltlist{float:none;width:100%;list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}#setting-list>li.list-group-item>[id$="_container"] .eltlist>li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 12px!important;margin:0;border:1px solid #e3e8ee!important;border-radius:8px;background:#fff;line-height:1.4;transition:border-color .15s,background-color .15s}#setting-list>li.list-group-item>[id$="_container"] .eltlist>li:hover{border-color:#c9d6e3!important;background:#f8fafc}#setting-list>li.list-group-item>[id$="_container"] .eltlist li>.pull-right{order:2;float:none!important;margin-left:auto;display:flex;align-items:center;gap:2px}#setting-list>li.list-group-item>[id$="_container"] .eltlist li>div:not(.pull-right){order:1;flex:1 1 0;min-width:0}#setting-list>li.list-group-item>[id$="_container"] .eltlist>li>ul{order:3;flex-basis:100%}#setting-list>li.list-group-item>[id$="_container"] .eltlist .icondistance{width:32px;height:32px;margin:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;font-size:15px;transition:color .15s,background-color .15s,border-color .15s}#setting-list>li.list-group-item>[id$="_container"] .eltlist .editeltclass:not(.syn-ico):not(.act-ico),#setting-list>li.list-group-item>[id$="_container"] .eltlist .deleltclass{color:#8a96a3}#setting-list>li.list-group-item>[id$="_container"] .eltlist .editeltclass:not(.syn-ico):not(.act-ico):hover{color:#0172b6;background:#e7f1f9;border-color:#c9dff0}#setting-list>li.list-group-item>[id$="_container"] .eltlist .deleltclass:hover{color:#c0392b;background:#fdecea;border-color:#f5c6c1}#setting-list>li.list-group-item>[id$="_container"] .eltlist .deleltclass.fa-remove:before{content:"\f014"}#setting-list>li.list-group-item>[id$="_container"] .eltlist ul.nomargelistMat,#setting-list>li.list-group-item>[id$="_container"] .eltlist ul.nomargelist{list-style:none;margin:8px 0 2px;padding:0 0 0 22px;display:flex;flex-direction:column;gap:6px}#setting-list>li.list-group-item>[id$="_container"] .eltlist ul.nomargelistMat>li,#setting-list>li.list-group-item>[id$="_container"] .eltlist ul.nomargelist>li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:6px 10px!important;border:1px solid #edf0f4!important;border-radius:6px;background:#fbfcfd}#setting-list>li.list-group-item>[id$="_container"] .cfg-code{display:inline-block;min-width:56px;margin-right:12px;padding:3px 8px;border:1px solid #dde3ea;border-radius:6px;background:#eef2f6;color:#3d4a57;font-size:12px;font-weight:700;line-height:1.4;text-align:center;letter-spacing:.3px;vertical-align:middle}#setting-list>li.list-group-item>[id$="_container"] .cfg-label{vertical-align:middle}#setting-list>li.list-group-item>[id$="_container"] .eltlist .bluelinkmod>i.pe-7s-notebook{margin-right:10px;font-size:18px;vertical-align:middle}
#classes_container,#cursuses_container,#staff_container,#ulboxlist{overflow-x:hidden;overflow-y:auto;padding-right:6px}#setting-list>li.list-group-item>[id$="_container"] .matact-item{padding:10px 12px!important}
@media (min-width:768px){#setting-list>li.list-group-item>[id$="_container"]{padding-right:calc(100% / 6 - 57px)}#setting-list>li.list-group-item>[id$="_container"]>.col-sm-11{width:100%;padding-right:0}}
#setting-list>li.list-group-item>div>label>i.fontred48:first-child,#tools-opt-list>li.list-group-item>div>label>i.fontred48:first-child,#tools-list>li.list-group-item>div>label>i.fontred48:first-child{width:42px;text-align:center}
@media (min-width:768px){#setting-list>li.list-group-item>#classes_container,#setting-list>li.list-group-item>#cursuses_container,#setting-list>li.list-group-item>#staff_container{margin-right:calc(100% / 6 - 57px);padding-right:6px}}
@media (min-width:768px){#tools-opt-list>li.list-group-item>[id$="_container"],#tools-list>li.list-group-item>[id$="_container"]{padding-left:46px}}
@media (min-width:768px){#setting-list>li.list-group-item:not(:has(>.col-xs-2 .pe-7s-plus))>[id$="_container"]{padding-right:0}#ClassStd_container>.eltfilter{margin-left:15px}#ClassStd_container>#nopadtable{padding-left:15px}}
@media (min-width:768px){#massivemsgbox_container>form.row{margin-left:0}#massivemsgbox_container>form.row>#filter_msg_container{margin-left:-15px}#massivemsgbox_container #filter_msg_container>.form-group.col-sm-12{padding-left:30px}}
.staffform-zone{border:1px solid #e3e8ee;border-radius:8px;padding:12px 16px 14px;margin-bottom:16px;background:#fff}.staffform-zone-assign:empty{display:none}.staffform-zone-title{margin:-12px -16px 14px;padding:9px 16px;border-bottom:1px solid #e3e8ee;border-radius:8px 8px 0 0;background:#f5f8fb;color:#2c6aa0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.staffform-zone-title .fa{margin-right:6px}.staffform-zone-assign>.row:first-child{margin:-12px -16px 12px;border-bottom:1px solid #e3e8ee;border-radius:8px 8px 0 0;background:#f5f8fb}.staffform-zone-assign>.row:first-child>.subject_aff_title{margin:0;padding:9px 16px;color:#2c6aa0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.staffform-zone-assign>.row:first-child>.subject_aff_title:before{font-family:FontAwesome;content:"\f073";margin-right:6px;font-weight:400}.staffpayrollsection .input-group{max-width:280px}.staffec-hours-card{margin:4px 0 14px;border:1px solid #d9e6f2;border-radius:8px;background:#f7fafd;overflow:hidden}.staffec-hours-head{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-bottom:1px solid #e3ecf5;background:#eef5fb}.staffec-hours-ico{flex:0 0 32px;height:32px;border-radius:50%;background:#0172b6;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:16px}.staffec-hours-title{color:#1f3b57;font-size:14px;font-weight:700;line-height:1.3}.staffec-hours-hint{margin-top:2px;color:#5f6b78;font-size:12.5px;line-height:1.45}.staffec-hours-rows{padding:4px 14px 8px}.staffec-hours-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed #dde6ef}.staffec-hours-row:last-child{border-bottom:0}.staffec-hours-label{flex:1 1 auto;min-width:0;line-height:1.4}.staffec-hours-input{flex:0 0 150px}.staffec-hours-card .cfg-code{display:inline-block;min-width:56px;margin-right:10px;padding:3px 8px;border:1px solid #dde3ea;border-radius:6px;background:#fff;color:#3d4a57;font-size:12px;font-weight:700;line-height:1.4;text-align:center;letter-spacing:.3px;vertical-align:middle}.staffec-hours-card .cfg-label{vertical-align:middle}
.ttcfg-zone{border:1px solid #e3e8ee;border-radius:8px;padding:12px 16px 2px;margin-bottom:14px;background:#fff}.ttcfg-zone-title{margin:-12px -16px 12px;padding:9px 16px;border-bottom:1px solid #e3e8ee;border-radius:8px 8px 0 0;background:#f5f8fb;color:#2c6aa0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.ttcfg-zone-title .fa{margin-right:6px}.ttcfg-zone-hint{margin:-4px 0 12px;color:#6b7684;font-size:13px;font-style:italic}.tt-schooldays-group{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tt-schooldays-group .checkbox-inline{margin:0!important;padding:6px 12px 6px 10px;border:1px solid #d5dde6;border-radius:18px;background:#fff;color:#4a5461;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background-color .15s,border-color .15s,color .15s}.tt-schooldays-group .checkbox-inline input[type=checkbox]{position:static;margin:0;accent-color:#0172b6}.tt-schooldays-group .checkbox-inline:hover{border-color:#9dbcd8}.tt-schooldays-group .checkbox-inline:has(input:checked){background:#e7f1f9;border-color:#9dc3e2;color:#0b5f99;font-weight:600}
.input-typed-invalid{border-color:#c0392b!important;box-shadow:0 0 0 3px rgba(192,57,43,.18)!important;transition:box-shadow .15s}
.period-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.period-label{font-weight:600;color:#2b3440;min-width:70px}.period-range{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:14px;background:#f1f4f7;color:#4a5461;font-size:12.5px;font-variant-numeric:tabular-nums}.period-range .fa-calendar{color:#0172b6}.period-range .period-range-arrow{color:#9aa4ae}.period-status{padding:2px 9px;border-radius:10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.period-status-current{background:#e3f4ea;color:#1e7b45}.period-status-upcoming{background:#e7f1f9;color:#0b5f99}.period-status-past{background:#eef0f2;color:#7a838c}
.privzone-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:8px 0 12px;padding-bottom:8px;border-bottom:1px solid #e3e8ee}.privzone-head .privTitleZone{margin:0;font-size:16px;font-weight:700;color:#1f3b57}.privtotal{padding:3px 10px;border-radius:12px;background:#e7f1f9;color:#0b5f99;font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums}.privtotal:empty{display:none}.privgroups{display:flex;flex-direction:column;gap:12px}.privgroup{border:1px solid #e3e8ee;border-radius:8px;background:#fff;overflow:hidden}.privgroup-head{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid #e3e8ee;background:#f5f8fb}.privgroup-title{flex:1 1 auto;color:#2c6aa0;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.privgroup-title .fa{margin-right:6px}.privgroup-count{color:#6b7684;font-size:12px;font-variant-numeric:tabular-nums}.privgroup-count b{color:#1f3b57}.privgroup.is-complete .privgroup-count b{color:#1e7b45}.privgroup-all{padding:3px 9px;border:1px solid #c9dff0;border-radius:6px;background:#fff;color:#0b5f99;font-size:12px;line-height:1.4}.privgroup-all:hover,.privgroup-all:focus-visible{background:#e7f1f9;outline:none}.privgroup-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px}@media (max-width:600px){.privgroup-body{grid-template-columns:1fr}}.privitem{display:flex;align-items:flex-start;gap:10px;margin:0;padding:8px 10px;border:1px solid #edf0f4;border-radius:6px;font-weight:400;cursor:pointer;transition:background-color .15s,border-color .15s}.privitem:hover{background:#f8fafc;border-color:#d5dde6}.privitem.is-on{background:#f1f7fc;border-color:#c9dff0}.privitem input.privcheck{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;accent-color:#0172b6;cursor:pointer}.privitem-text{display:flex;flex-direction:column;min-width:0}.privitem-label{color:#2b3440;font-size:13.5px;line-height:1.35}.privitem.is-on .privitem-label{color:#0b3d66;font-weight:600}.privitem-desc{margin-top:2px;color:#6b7684;font-size:12px;line-height:1.35}

.ajx-topbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:100000;pointer-events:none;opacity:0;transition:opacity .2s;overflow:hidden;background:rgba(242,101,34,.15)}.ajx-topbar.is-on{opacity:1}.ajx-topbar span{position:absolute;top:0;bottom:0;left:-40%;width:40%;background:#f26522;border-radius:0 2px 2px 0;animation:ajxbar 1.1s ease-in-out infinite}@keyframes ajxbar{0%{left:-40%}100%{left:100%}}.ajx-reduce-motion .ajx-topbar span{animation:none;left:0;width:100%;opacity:.7}.ajx-busy{pointer-events:none!important;cursor:progress}.ajx-spin-lead{margin-right:6px}.ajx-spin-inline{margin-left:6px}.ajx-spin-corner{position:absolute;top:3px;right:4px;font-size:12px;line-height:1;z-index:2}
.feepay-section-title{margin:18px 0 8px;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6b7785}.feepay-badge-partial{background:#fff3e0;color:#b25e00}.feepay-progress{height:6px;border-radius:3px;background:#eef1f4;overflow:hidden;margin:10px 0 6px}.feepay-progress span{display:block;height:100%;background:#2ecc71;border-radius:3px}.feepay-balance{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;font-size:13px;color:#555;font-variant-numeric:tabular-nums}.feepay-history{margin:8px 0 4px;font-size:13px}.feepay-history summary{cursor:pointer;color:#0073b1}.feepay-history ul{list-style:none;padding:6px 0 0;margin:0}.feepay-history li{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px dashed #e3e7eb;font-variant-numeric:tabular-nums}.feepay-payrow{margin-top:10px}.feepay-payrow label{font-size:13px;font-weight:600;margin-bottom:4px;display:block}.feepay-payrow-inner{display:flex;gap:8px;align-items:center}.feepay-payrow-inner .form-control{max-width:200px}.feepay-meta{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}.gfee-head{margin-bottom:4px}.gfee-chips{display:flex;flex-wrap:wrap;gap:6px}.gfee-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:1.4;padding:2px 8px;border-radius:10px;background:#eef1f4;color:#4a5560}.gfee-chip-blocking{background:#fdecea;color:#b3261e}.gfee-chip-required{background:#e8f1fb;color:#1d5fa0}.gfee-chip-optional{background:#eef7ee;color:#2e7d32}.gfee-kindhelp{font-size:12px}
.fdash{padding:12px 0 4px;transition:opacity .15s}.fdash.is-loading{opacity:.55}.fdash-tabs{display:flex;gap:4px;border-bottom:1px solid #dfe4e8;margin-bottom:14px;flex-wrap:wrap}.fdash-tab{background:none;border:0;border-bottom:3px solid transparent;padding:8px 14px;color:#5a6772;font-weight:600;cursor:pointer}.fdash-tab.is-on{color:#1f2a33;border-bottom-color:#f26522}.fdash-tab:focus-visible{outline:2px solid #9cc9e8}.fdash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:10px}.fdash-kpi{border:1px solid #dfe4e8;border-radius:6px;padding:10px 14px;background:#fff}.fdash-kpi span{display:block;font-size:12px;color:#6b7785;text-transform:uppercase;letter-spacing:.04em}.fdash-kpi b{font-size:19px;font-variant-numeric:tabular-nums;color:#1f2a33}.fdash-kpi-good b{color:#1e7e45}.fdash-kpi-warn b{color:#b25e00}.fdash-counts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.fdash-count{font-size:12px;padding:3px 10px;border-radius:12px}.fdash-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.fdash-filters .form-control{width:auto;min-width:150px;flex:1 1 150px;max-width:260px}.fdash-inline{margin:0;font-weight:600;font-size:13px}.fdash-export{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #c9d1d8;border-radius:4px;padding:6px 12px;font-size:13px;color:#1f2a33;line-height:1.4;cursor:pointer}.fdash-export:hover{background:#f3f6f8}.fdash-export:focus-visible{outline:2px solid #9cc9e8}.fdash-tablewrap{overflow-x:auto;max-height:560px;overflow-y:auto;border:1px solid #dfe4e8;border-radius:6px}.fled-table{width:100%;border-collapse:collapse;font-size:13px}.fled-table th{position:sticky;top:0;background:#f6f8fa;text-align:left;padding:8px 10px;border-bottom:1px solid #dfe4e8;font-weight:600;color:#4a5560;white-space:nowrap}.fled-table td{padding:7px 10px;border-bottom:1px solid #eef1f4;vertical-align:top}.fled-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.fled-owed{color:#b3261e;font-weight:600}.fdash-cls{color:#6b7785;max-width:220px}.fdash-row{cursor:pointer}.fdash-row:hover,.fdash-row:focus{background:#f3f8fc;outline:none}.fled-st-cancelled td,.fled-st-refunded td{color:#8a949e}.fled-badge-ok,.fled-badge-active{background:#e6f4ea;color:#1e7e45}.fled-badge-partial{background:#fff3e0;color:#b25e00}.fled-badge-unpaid{background:#eef1f4;color:#4a5560}.fled-badge-cancelled{background:#eef1f4;color:#6b7785;text-decoration:line-through}.fled-badge-refunded{background:#fdecea;color:#b3261e}.fled-badge-pending{background:#e8f1fb;color:#1d5fa0}.fled-idcard{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.fled-mat{font-size:12px;background:#eef1f4;border-radius:10px;padding:1px 8px;margin-left:6px}.fled-idtotals{text-align:right}.fled-idtotals span{display:block;font-size:12px;color:#6b7785}.fled-idtotals b{font-size:18px;font-variant-numeric:tabular-nums}.fled-lines{margin-bottom:12px;border:1px solid #dfe4e8}.fled-addbtn{margin-bottom:10px}.fled-payform{border:1px solid #cfe3d4;background:#f5fbf6;border-radius:6px;padding:12px 14px 14px;margin-bottom:12px}.fled-history{list-style:none;padding:0;margin:0}.fled-hrow{border:1px solid #e3e7eb;border-radius:6px;padding:8px 12px;margin-bottom:8px}.fled-hrow.is-new{border-color:#2ecc71;box-shadow:0 0 0 2px rgba(46,204,113,.2)}.fled-hmain{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.fled-hdate{color:#6b7785;font-size:12px;min-width:110px}.fled-hobj{flex:1 1 160px}.fled-hamount{font-variant-numeric:tabular-nums}.fled-st-cancelled .fled-hamount,.fled-st-refunded .fled-hamount{text-decoration:line-through;color:#8a949e}.fled-hmeta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:#6b7785;margin-top:3px;align-items:center}.fled-void{font-size:12px;color:#b3261e;margin-top:4px}.fled-hactions{display:flex;gap:14px;margin-top:6px;font-size:13px}.fled-act{color:#0073b1}.fled-voidbox{margin-top:8px;border-top:1px dashed #e3e7eb;padding-top:8px}.fled-void-title{font-weight:600;margin-bottom:6px}@media (max-width:600px){.fdash-export{margin-left:0}.fdash-filters .form-control{max-width:none}.fled-idcard{flex-direction:column}.fled-idtotals{text-align:left}}
.fled-closebtn{background:none;border:1px solid #c9d1d8;border-radius:4px;padding:4px 10px;font-size:12px;color:#1f2a33;cursor:pointer}.fled-closebtn:hover{background:#f3f6f8}
.fled-totalrow th{background:#f6f8fa;border-top:2px solid #c9d1d8}.payentry-chip-payout{background:#e6f4ea;color:#1e7e45}.payentry-chip-advance{background:#e8f1fb;color:#1d5fa0}.payentry-chip-deduction{background:#fdecea;color:#b3261e}
.fled-lines td:first-child,.fled-lines th:first-child{min-width:150px}
.fled-act{white-space:nowrap}.fled-iconact{font-size:16px;padding:0 4px}
.fled-lines th{white-space:normal;vertical-align:bottom}.fled-lines td,.fled-lines th{padding:7px 8px}
.fdash-bulk{display:inline-flex;align-items:center;gap:6px;background:#1e7e45;border:1px solid #1e7e45;border-radius:4px;padding:6px 12px;font-size:13px;color:#fff;cursor:pointer}.fdash-bulk:hover{background:#176436}.fdash-bulk:focus-visible{outline:2px solid #9cc9e8}.bulkpay .bulkpay-amount{max-width:150px;margin-left:auto;text-align:right}.bulkpay td{vertical-align:middle}.payroll-pending{border:1px dashed #9cc9e8;background:#f3f8fc;border-radius:6px;padding:8px 12px;margin:0 0 12px;font-size:13px}.payroll-pending .fa{color:#0073b1}
.sessdetail-row>td{background:#fafbfc;padding:8px 10px 12px!important}.sessdetail .fled-table{font-size:12px}.sessdetail .fdash-tablewrap{max-height:360px}.sessdetail-uncounted td{color:#6b7785}.sessdetail-warn{color:#b3261e;font-size:13px;margin:4px 0 8px}.sessdetail-export{display:inline-block;margin-top:6px}.sessdetail-slot{margin-top:8px}.sessdetail-empty{margin:6px 0}
.sessdetail td:first-child,.sessdetail td:nth-child(2){white-space:nowrap}
.staff-insights{display:inline-flex;flex-wrap:wrap;gap:6px;margin:0 0 0 14px;vertical-align:baseline}.staff-insights:empty{display:none}.si-chip{display:inline-block;padding:2px 9px;border:1px solid #dde3ea;border-radius:10px;background:#eef2f6;color:#3d4a57;font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap;font-variant-numeric:tabular-nums;cursor:default}.si-chip.si-warn{border-color:#f2d3a6;background:#fff4e5;color:#8a5200}.si-chip.si-muted{border-color:#e3e6ea;background:#f6f7f9;color:#6b7480}
.tt-nature{display:inline-block;margin-left:4px;padding:0 6px;border-radius:8px;font-size:10px;font-weight:700;line-height:1.6;letter-spacing:.2px;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.tt-nature-eval{background:#fdecea;color:#a3271b;border:1px solid #f3c2bc}.tt-nature-rattrapage{background:#e7f1f9;color:#0b5f99;border:1px solid #bcd8ee}.tt-nature-revision{background:#eef6e9;color:#2f6b1e;border:1px solid #c8e2bb}.tt-nature-trace{display:block;margin-top:4px}
.tt-nature-box{margin:12px 0 4px;padding:12px 14px;border:1px solid #e3e8ee;border-radius:8px;background:#fafbfc}.tt-nature-box>label{display:block;margin-bottom:6px;font-weight:700;color:#2b3a49}.tt-nature-row{display:flex;gap:8px;align-items:center;margin-bottom:6px}.tt-nature-row select{flex:1 1 auto;max-width:280px}
.tt-link-ico{color:#0b5f99;margin-left:3px}.tt-link-box{margin:12px 0 4px;padding:12px 14px;border:1px solid #e3e8ee;border-radius:8px;background:#fafbfc}.tt-link-title{font-weight:700;color:#2b3a49;margin-bottom:8px}.tt-link-list{list-style:none;padding:0;margin:0 0 8px}.tt-link-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;padding:6px 0;border-top:1px solid #edf0f3}.tt-link-item:first-child{border-top:0}.tt-link-kind{font-size:11px;font-weight:700;text-transform:uppercase;color:#5d6b79}.tt-link-when{flex-basis:100%;font-size:12px;color:#6b7785;padding-left:20px}.tt-link-detach{margin-left:auto;padding:0 4px;font-size:12px;color:#a3271b}.tt-link-add{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.tt-link-add select{flex:1 1 180px;max-width:320px}.tt-link-propose{margin:4px 0 10px;padding:8px 10px;border-radius:6px;background:#fff4e5;color:#8a5200;font-size:13px}
.eval-window-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.eval-window-row input{flex:1 1 150px;max-width:200px}.eval-chip{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:700;background:#eef2f6;color:#3d4a57;border:1px solid #dde3ea;vertical-align:middle}.eval-chip-cc{background:#e7f1f9;color:#0b5f99;border-color:#bcd8ee}.eval-chip-examen{background:#fdecea;color:#a3271b;border-color:#f3c2bc}.eval-chip-rattrapage{background:#fff4e5;color:#8a5200;border-color:#f2d3a6}.eval-chip-dates{font-weight:600}.eval-chip-scope{margin-left:4px;font-size:11px;color:#6b7785}.tt-eval-band{display:block;margin:2px 0;padding:1px 6px;border-radius:4px;background:#fdecea;color:#a3271b;font-size:10px;font-weight:700;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;text-transform:none}
.tt-link-create{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}.tt-link-new{border:1px solid #bcd8ee;background:#e7f1f9;color:#0b5f99;border-radius:4px}.tt-link-new:hover,.tt-link-new:focus{background:#d6e8f6;color:#084a78}
.eval-chip-suspend{background:#3d4a57;color:#fff;border-color:#3d4a57}
.ttw-suspended{margin:4px 0 8px;padding:6px 10px;border-radius:6px;background:#eef2f6;color:#3d4a57;font-size:13px}
/* 2026-10-02 : cahier de texte - Travail donne */
.tt-work-box{margin-top:15px;border-top:1px solid #eee;padding-top:15px}.tt-work-sub{font-size:12px;font-weight:600;color:#5a6b7b;margin:8px 0 4px}.tt-work-list{list-style:none;padding:0;margin:0 0 6px}.tt-work-item{padding:3px 0;font-size:13px}.tt-work-none{font-size:12px;margin:0 0 6px}
/* 2026-10-02 : epreuves (planning des examens) */
.exam-open-btn{border:1px solid #c9b6e4;background:#f4effa;color:#5b3c88;border-radius:4px;margin-left:4px}.exam-open-btn:hover,.exam-open-btn:focus{background:#e9e0f5;color:#47296f}.exam-window{margin:0 0 10px}.exam-list{list-style:none;padding:0;margin:0 0 12px}.exam-item{position:relative;border:1px solid #e3e8ee;border-radius:8px;padding:10px 40px 8px 14px;margin-bottom:8px;background:#fafbfc}.exam-item p{margin:0 0 4px}.exam-when{font-size:12px;color:#5a6b7b;font-variant-numeric:tabular-nums}.exam-title{font-weight:600;color:#2b3a49}.exam-chips{display:flex;flex-wrap:wrap;gap:4px}.exam-chip{display:inline-block;font-size:12px;padding:1px 8px;border-radius:10px;background:#eef2f6;color:#34495e}.exam-chip small{color:#7b8a99;margin-left:2px}.exam-chip-room{background:#f4effa;color:#5b3c88}.exam-chip-online{background:#e7f1f9;color:#0b5f99}.exam-fill{font-size:12px;color:#3c763d;margin:4px 0}.exam-fill-over{color:#a94442;font-weight:600}.exam-del{position:absolute;top:4px;right:6px;color:#a94442}.exam-empty{margin:0 0 12px}.exam-form{border-top:1px solid #eee;padding-top:12px;margin-top:6px}.exam-form-title{font-weight:700;color:#2b3a49}.exam-row{display:flex;flex-wrap:wrap;gap:12px}.exam-row .form-group{flex:1 1 200px}.exam-checks{display:flex;flex-wrap:wrap;gap:4px 14px;max-height:180px;overflow-y:auto}.exam-check{font-weight:400;margin:0}.exam-actions{margin-top:8px}.exam-cancel{border:1px solid #ccc;background:#fff}.exam-problems{margin:4px 0 0;padding-left:18px}.tt-exam-line{color:#5b3c88;font-weight:600}
/* 2026-10-02 : epreuves E2 - surveillants */
.exam-proctors{margin-top:6px;padding-top:6px;border-top:1px dashed #dde3ea}.exam-proctors-title{font-size:12px;font-weight:600;color:#5a6b7b;margin:0 0 4px}.exam-proctor-list{list-style:none;padding:0;margin:0 0 4px}.exam-proctor-list li{font-size:13px;padding:1px 0}.exam-proctor-del{padding:0 4px;color:#a94442}.exam-proctor-none{font-size:12px;margin:0 0 4px}.exam-proctor-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.exam-proctor-add select{flex:1 1 160px;width:auto}.exam-proctor-btn{border:1px solid #c9b6e4;background:#f4effa;color:#5b3c88;border-radius:4px}.exam-proctor-btn:hover,.exam-proctor-btn:focus{background:#e9e0f5;color:#47296f}.exam-proctor-panel{margin:0 0 12px;padding:10px 12px;border:1px solid #e3e8ee;border-radius:8px;background:#fcfbfe}.exam-proctor-settings{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.exam-proctor-settings input[type=number]{width:90px}.exam-proctor-settings small{flex-basis:100%}.exam-proctor-recap{margin:8px 0 0;font-size:13px}.exam-proctor-recap .num{text-align:right;font-variant-numeric:tabular-nums}
/* 2026-10-02 : epreuves E3 - documents */
.exam-docs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px}.exam-docs-label{font-size:12px;font-weight:600;color:#5a6b7b;margin-right:4px}.exam-doc-btn{border:1px solid #c9b6e4;background:#fff;color:#5b3c88;border-radius:4px}.exam-doc-btn:hover,.exam-doc-btn:focus{background:#f4effa;color:#47296f}
/* 2026-10-02 : capacite en evaluation */
.exam-cap-settings{margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed #dde3ea}.exam-cap-settings select{width:auto}.exam-cap-hint{display:block;margin:-2px 0 4px}.tt-examcap-warn{background:#fdf3e3;border-left:3px solid #f0ad4e;border-radius:4px;padding:6px 10px;font-size:12px;color:#8a6d3b}
/* 2026-10-02 : epreuves E4 - saisie des notes */
.exam-notes{margin:4px 0 12px;padding:10px 12px;border:1px solid #e3e8ee;border-radius:8px;background:#fafbfc}.exam-notes-list{list-style:none;padding:0;margin:0 0 6px}.exam-notes-list li{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:4px 0;border-bottom:1px solid #eef1f4}.exam-notes-class{font-weight:600}.exam-notes-btn{margin-left:auto}.exam-chip-ok{background:#e6f4ea;color:#2e7d32}.tt-exam-notes{margin:4px 0 0}
/* 2026-10-02 : modification d'epreuve, presence des surveillants */
.exam-edit{position:absolute;top:4px;right:30px;color:#5b3c88}.exam-presence-pending{background:#fdf3e3;color:#8a6d3b}.exam-presence-present{background:#e6f4ea;color:#2e7d32}.exam-presence-absent{background:#f9e1e1;color:#a94442}.exam-presence-btn{border:1px solid #d6dbe1;background:#fff;color:#34495e;border-radius:4px;padding:0 6px}.exam-presence-btn[disabled]{opacity:.45}.exam-recap-pending{color:#8a6d3b;font-weight:700}
/* 2026-10-02 : saisie des notes par epreuve */
.exam-grades-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 10px}.exam-grades-bar input{width:90px}.exam-grades-wrap{max-height:55vh;overflow:auto;border:1px solid #e3e8ee;border-radius:6px}.exam-grades-table{margin:0}.exam-grades-table th{position:sticky;top:0;background:#f4effa;z-index:1}.exam-grades-table td{vertical-align:middle}.exam-grade-mark{width:80px;text-align:right;font-variant-numeric:tabular-nums}.exam-grade-status{min-width:140px}.exam-grade-bad{border-color:#a94442;background:#f9e1e1}.exam-grades-stats{margin:10px 0;font-size:13px;color:#34495e;font-variant-numeric:tabular-nums}.exam-grades-info{background:#eef2f6;border-radius:4px;padding:6px 10px;font-size:13px}.exam-grades-locked{background:#f4effa;color:#5b3c88}.exam-grades-line{margin:4px 0}
/* 2026-10-02 : absences et rattrapages */
.exam-retake-line{margin:4px 0;font-size:13px}.exam-chip-retake{background:#fdf3e3;color:#8a6d3b}.exam-cand-group{margin:4px 0 8px}.exam-cand-group-title{font-size:12px;font-weight:600;color:#5a6b7b;margin:0 0 2px}.exam-cand-reason{font-size:11px;color:#7b8a99}.exam-cand-done{opacity:.6}
/* 2026-10-02 : moyennes et bulletins */
.report-table th,.report-table td{white-space:nowrap}.report-table td.num,.report-table th.num{text-align:right;font-variant-numeric:tabular-nums}.report-table tfoot td{border-top:2px solid #34495e;background:#fafbfc}.report-settings{margin-top:12px;border-top:1px solid #eee;padding-top:8px}.report-settings summary{cursor:pointer;font-weight:600;color:#5b3c88;margin-bottom:8px}.report-coefs .report-coef{display:flex;gap:6px;align-items:center}.report-coef-input{width:70px}
/* 2026-10-02 : espace apprenant / parent - epreuves, notes, bulletins */
.std-exam-box{margin:0 0 16px;padding:12px 14px;border:1px solid #e3e8ee;border-left:4px solid #5b3c88;border-radius:8px;background:#fff}.std-exam-title{font-weight:700;color:#2b3a49;margin:0 0 8px}.std-exam-list .exam-item,.std-exam-list li{list-style:none;border-bottom:1px solid #eef1f4;padding:6px 0}.std-exam-list{padding:0}.std-exam-list li p{margin:0 0 2px}.std-report-list{padding-left:18px}.std-report-list li{margin:4px 0}.report-publish{margin:8px 0}
/* 2026-10-02 : modeles de bulletin */
.report-tpl-line{margin:6px 0;font-size:13px;color:#4a5866}.report-tpl-line .btn{margin-left:6px}#myLargeModal .modal-dialog.rtpl-wide{width:96%;max-width:1400px}.rtpl-table td{vertical-align:middle!important}.rtpl-actions{white-space:nowrap;text-align:right}.rtpl-empty{padding:12px 14px;background:#f7f8fa;border-radius:6px;color:#5a6b7b}.rtpl-create-title{margin:14px 0 6px;font-weight:600;color:#2b3a49}.rtpl-presets .btn{margin:0 6px 6px 0}.rtpl-sec{border:1px solid #e3e8ee;border-radius:6px;margin:0 0 8px;background:#fff}.rtpl-sec>summary{cursor:pointer;padding:8px 12px;font-weight:600;color:#2b3a49}.rtpl-sec>summary i{color:#5b3c88;width:18px}.rtpl-sec[open]>summary{border-bottom:1px solid #eef1f4}.rtpl-sec-body{padding:10px 12px}.rtpl-sec-body .exam-check{display:block;margin:4px 0;font-weight:normal}.rtpl-sec-body small.text-muted{display:block;margin:2px 0 8px}.rtpl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0 10px}.rtpl-grid-2{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.rtpl-color{padding:2px 4px;height:30px}.rtpl-cols{list-style:none;padding:0;margin:0}.rtpl-col{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid #f0f2f5}.rtpl-col .exam-check{flex:0 0 42%;margin:0!important}.rtpl-col .rtpl-col-label{flex:1;min-width:0}.rtpl-mini{background:#f4f6f8;border:1px solid #dfe4e8;color:#4a5866}.rtpl-mini:hover,.rtpl-mini:focus{background:#e9edf1;color:#2b3a49}.rtpl-rows>div{display:flex;align-items:center;gap:6px;margin:0 0 6px}.rtpl-rows input[type=text]{flex:1;min-width:0}.rtpl-m-min{width:72px!important;flex:0 0 72px}.rtpl-m-from{font-size:12px;color:#5a6b7b}.rtpl-sub{margin:10px 0 4px;font-weight:600;color:#2b3a49;font-size:13px}.rtpl-checks{columns:2;column-gap:12px}.rtpl-subjects{max-height:260px;overflow:auto;margin-top:6px;border:1px solid #eef1f4;border-radius:4px}.rtpl-subjects td{vertical-align:middle!important}.rtpl-subjects select{min-width:130px}.rtpl-assign{max-height:300px;overflow:auto;border:1px solid #eef1f4;border-radius:4px;padding:6px 10px;margin-top:6px}.rtpl-cursus-box{margin:0 0 6px}.rtpl-classes{padding-left:22px;columns:2;column-gap:12px}.rtpl-preview-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 6px}.rtpl-preview-wrap{position:relative;overflow:hidden;border:1px solid #dfe4e8;border-radius:6px;background:#eef1f4;min-height:200px}.rtpl-preview-wrap iframe{border:0;display:block;transform-origin:0 0;background:#eef1f4}@media (min-width:992px){.rtpl-editor .col-md-7{position:sticky;top:0}}@media (max-width:600px){.rtpl-checks,.rtpl-classes{columns:1}.rtpl-col{flex-wrap:wrap}.rtpl-col .exam-check{flex-basis:100%}}
/* 2026-10-03 : gestion courante de l'emploi du temps */
.tt-ops-box{margin:10px 0;padding:10px 12px;border:1px solid #e3e8ee;border-left:4px solid #5b3c88;border-radius:6px;background:#fff}.tt-ops-title{font-weight:700;color:#2b3a49;margin:0 0 6px}.tt-ops-budget{font-size:13px;color:#4a5866;margin:4px 0}.tt-ops-actions{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.tt-ops-current{padding:8px 10px;background:#f4effa;border-radius:6px}.tt-ops-sub{font-weight:600;color:#2b3a49;margin:10px 0 4px}.tt-ops-cands{max-height:280px;overflow:auto;border:1px solid #eef1f4;border-radius:4px;padding:4px 8px}.tt-ops-cand{display:block;font-weight:normal;padding:4px 0;border-bottom:1px solid #f3f5f7;margin:0;cursor:pointer}.tt-ops-when{font-variant-numeric:tabular-nums;color:#4a5866}.tt-ops-mode{margin:4px 0 10px 22px}.tt-ops-preview{margin-top:10px}.tt-ops-list{padding-left:18px;margin:4px 0}.tt-ops-list li{margin:2px 0}.tt-ops-problems ul{margin:4px 0 0;padding-left:18px}.tt-ops-catchup{padding:8px 10px;background:#fdf3e3;border-radius:6px;color:#8a6d3b}
/* 2026-10-03 : historique et absence prolongee */
.tt-hist-wrap{max-height:420px;overflow:auto}.tt-hist td{vertical-align:top!important;font-size:13px}.tt-hist-when{white-space:nowrap;font-variant-numeric:tabular-nums;color:#4a5866}.tt-hist-op{display:inline-block;padding:1px 7px;border-radius:10px;background:#f4effa;color:#5b3c88;font-size:12px;white-space:nowrap}.tt-hist-details{margin-top:8px}.tt-hist-details>summary{cursor:pointer;font-weight:600;color:#2b3a49}.tt-abs-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr);gap:0 12px}@media (max-width:900px){.tt-abs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.tt-abs-grid{grid-template-columns:minmax(0,1fr)}}.tt-abs-hours{display:flex;align-items:center;gap:6px}.tt-abs-hours input.form-control{flex:1 1 0;min-width:0}.tt-abs-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0;padding:8px 10px;background:#f7f8fa;border-radius:6px}.tt-abs-bulk label{margin:0}.tt-abs-bulk select{width:auto;min-width:170px}.tt-abs-table td{vertical-align:middle!important}.tt-abs-act{width:260px}.tt-abs-act select{margin:2px 0}.tt-abs-list{max-height:380px;overflow:auto}
.nav_user_tab>li.tab-scope{margin:0 2px 0 10px;padding:0 2px 0 12px;border-left:1px solid #ddd;color:#999;font-size:12px;white-space:nowrap;cursor:default}.nav_user_tab>li.tab-scope>span{display:block;padding:10px 0;line-height:20px}.nav_user_tab>li.tab-scope i.fa{color:#c4c4c4!important;margin-right:2px}.nav_user_tab>li.tab-scope b{color:#777;font-weight:600;letter-spacing:.3px}@media (max-width:767px){.nav_user_tab>li.tab-scope{margin-left:6px;padding-left:8px}.nav_user_tab>li.tab-scope .tab-scope-lbl{display:none}}
.tt-toolbar-row{display:flex;align-items:flex-start;gap:8px}.tt-toolbar-row>.tt-display-toggle{flex:0 0 auto;width:auto;float:none}.tt-toolbar-row>.tt-toolbar{flex:1 1 0;min-width:0;width:auto;float:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.tt-toolbar-row>.tt-toolbar>.btn{margin:0}.tt-field-hint{display:block;margin:6px 0 0;padding-left:18px;position:relative;font-size:12px;line-height:1.45;color:#6b7684}.tt-field-hint:before{content:"\f05a";font-family:FontAwesome;position:absolute;left:2px;top:0;color:#9aa6b2}.tt-recur-box{border:1px solid #e3e8ee;border-radius:8px;background:#f8fafc;padding:10px 14px;margin:4px 0 15px;transition:background .15s,border-color .15s}.tt-recur-box.on{background:#f2f8fd;border-color:#b8d4ec}.tt-recur-head{display:flex;align-items:center;gap:6px}.tt-recur-head label{margin:0;font-weight:600;color:#2c6aa0;cursor:pointer}.tt-recur-head label input{margin:0 6px 0 0;vertical-align:-1px}.tt-recur-head .fa-repeat{margin-right:3px}.tt-recur-weeks{margin-top:10px;padding-top:10px;border-top:1px dashed #cfdbe6}.tt-recur-weeks.hidden{display:none!important}.tt-recur-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tt-recur-row label{margin:0;font-weight:normal}.tt-recur-row input.form-control{width:150px;height:32px}.tt-recur-weeks .tt-field-hint{margin-top:8px}
.tt-toolbar .btn{border-radius:6px}.tt-btn-soft{background:#fff;color:#0073b1;border:1px solid #b9d3e6}.tt-btn-soft:hover,.tt-btn-soft:focus{background:#eef5fb;color:#005a8c;border-color:#0073b1}.tt-btn-edit{background:#fff;color:#0073b1;border:1px solid #0073b1}.tt-btn-edit:hover,.tt-btn-edit:focus{background:#0073b1;color:#fff}.tt-btn-solid{background:#0073b1;color:#fff;border:1px solid #0073b1}.tt-btn-solid:hover,.tt-btn-solid:focus{background:#005a8c;border-color:#005a8c;color:#fff}.tt-tb-sep{width:1px;align-self:stretch;background:#d6e0ea;margin:2px 1px}#ttSchoolView>.col-sm-12:first-child{margin-top:6px}
.modal-header.hdrbg-tsoft,.modal-header.hdrbg-tedit{background-color:#eef5fb!important;color:#0073b1!important;border-bottom:2px solid #b9d3e6}.modal-header.hdrbg-tedit{border-bottom-color:#0073b1}.modal-header.hdrbg-tsoft .modal-title,.modal-header.hdrbg-tedit .modal-title{color:#0073b1!important}.modal-header.hdrbg-tsoft .close,.modal-header.hdrbg-tedit .close{color:#0073b1!important;opacity:.75;text-shadow:none}
.tt-btn-danger{background:#fff;color:#c9302c;border:1px solid #e3a5a3}.tt-btn-danger:hover,.tt-btn-danger:focus{background:#c9302c;color:#fff;border-color:#c9302c}.tt-btn-danger[disabled],.tt-btn-danger[disabled]:hover{background:#fff;color:#d99a98;border-color:#eccac8;cursor:not-allowed;opacity:1}.modal-header.hdrbg-tclear{background-color:#fdf1f0!important;color:#b52b27!important;border-bottom:2px solid #e8b4b1}.modal-header.hdrbg-tclear .modal-title{color:#b52b27!important}.modal-header.hdrbg-tclear .close{color:#b52b27!important;opacity:.75;text-shadow:none}.tt-clear-scope{margin:4px 0 10px}.tt-clear-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}@media (max-width:700px){.tt-clear-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.tt-clear-stat{border:1px solid #e3e8ee;border-radius:8px;padding:10px 12px;background:#f8fafc}.tt-clear-stat b{display:block;font-size:22px;line-height:1.2;color:#2c3e50}.tt-clear-stat span{font-size:12px;color:#6b7684}.tt-clear-stat.tt-clear-del{background:#fdf6f5;border-color:#efc9c6}.tt-clear-stat.tt-clear-del b{color:#c9302c}.tt-clear-prot{margin:0 0 10px 18px;padding:0;font-size:12.5px;color:#5d6875}.tt-clear-warn{background:#fff4e5;border:1px solid #f3d29b;color:#7a4b00;border-radius:6px;padding:8px 10px;font-size:13px}.tt-clear-opts{display:flex;flex-direction:column;gap:4px;margin:8px 0 4px}.tt-clear-confirm{margin-top:12px}.tt-clear-confirm label{font-weight:normal}.tt-clear-confirm input{max-width:280px}.tt-clear-actions{text-align:right;margin-top:14px}.tt-clear-last{background:#eef5fb;border:1px solid #b9d3e6;border-radius:6px;padding:8px 10px;margin-bottom:10px;color:#2c5f86}.tt-clear-undo{margin-left:6px}

/* TYPO-CONFIG-2026-10-11 : echelle unique des panneaux Configurations (11 pastilles/en-tetes, 12 secondaire/boutons, 13 texte, 14 titres/chiffres) - plus rien au-dessus du titre de section (14 px) */
.syn-parent{font-size:12px}
.matact-code{font-size:12px}
.ueg-ava,.ueg-card-sub,.ueg-callout,.ueg-card-meta,.ueg-note,.ueg-settings-hint{font-size:12px}
.ueg-card-title{font-size:14px}
.ueg-period-group-title{font-size:14px;font-weight:600}
.ueg-form .ueg-field>label,.ueg-settings>label,.ueg-settings>input[type=number]{font-size:13px}
.ueg-form .ueg-field small{font-size:11px}
.ueg-stat-l,.ueg-class-table>thead>tr>th{font-size:11px}
.ueg-stat-n,.ueg-summary-n{font-size:14px}
.period-range{font-size:12px}
.fdash-kpi b{font-size:14px}

/* 2026-10-11 : demandes du personnel */
.hdr-btn-req{background:#7a5bb5;position:relative}
.hdr-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#d9534f;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}
.req-ui{font-size:13px;color:#3c4a57}
.req-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.req-intro{margin:0;color:#5b6773;font-size:13px;max-width:70ch}
.req-newbtn{border:2px solid #b9d3e6;background:#eef5fb;color:#0073b1;border-radius:7px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.req-newbtn:hover{background:#dcebf6;border-color:#0073b1}
.req-tabs{display:inline-flex;border:1px solid #b9d3e6;border-radius:7px;overflow:hidden;margin-bottom:10px}
.req-tabs button{border:0;background:#fff;color:#0073b1;padding:6px 14px;font-size:13px;cursor:pointer}
.req-tabs button+button{border-left:1px solid #b9d3e6}
.req-tabs button.on{background:#0073b1;color:#fff}
.req-count{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:#d9534f;color:#fff;font-size:11px;font-weight:700;margin-left:4px}
.req-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.req-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 12px;border:1px solid #e3e8ee;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.req-item:hover{border-color:#b9d3e6;background:#f8fbfd}
.req-item.req-unread{border-left:3px solid #7a5bb5}
.req-item-main{min-width:0}
.req-item-subject{font-size:13px;font-weight:600;color:#0b3c5d;overflow:hidden;text-overflow:ellipsis}
.req-item-meta{font-size:12px;color:#5b6773;margin-top:2px}
.req-item-side{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.req-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#7a5bb5;margin-right:6px;vertical-align:middle}
.req-cat{font-size:12px;color:#3c4a57;background:#f1f4f7;border-radius:4px;padding:0 6px}
.req-st{font-size:11px;font-weight:700;border-radius:10px;padding:1px 8px;white-space:nowrap}
.req-st-new{background:#e8f1fb;color:#0073b1}.req-st-taken{background:#efe9f8;color:#5b3f99}.req-st-waiting{background:#fff4e5;color:#8a5300}.req-st-resolved{background:#e6f4ea;color:#1a7f37}.req-st-refused{background:#fdecea;color:#b42318}
.req-delay{font-size:11px;font-weight:600;border-radius:10px;padding:1px 8px;white-space:nowrap}
.req-delay-ok{background:#e6f4ea;color:#1a7f37}.req-delay-late{background:#fdecea;color:#b42318}
.req-empty{color:#5b6773;font-size:13px;margin:8px 0}
.req-hint{display:block;font-size:12px;color:#5b6773;margin-top:4px}
.req-back{margin:0 0 8px;font-size:12px}
.req-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.req-foot .req-hint{margin:0}
.req-head{border-bottom:1px solid #e3e8ee;padding-bottom:8px;margin-bottom:10px}
.req-head-title{font-size:14px;font-weight:600;color:#0b3c5d}
.req-head-meta{font-size:12px;color:#5b6773;margin-top:4px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.req-thread{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.req-msg{border:1px solid #e3e8ee;border-radius:8px;padding:8px 12px;background:#fff;max-width:90%}
.req-msg-staff{align-self:flex-end;background:#eef5fb;border-color:#b9d3e6}
.req-msg-head{font-size:12px;color:#5b6773;display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:3px}
.req-msg-head b{color:#3c4a57}
.req-msg-body{font-size:13px;color:#24313d;line-height:1.45}
.req-act{font-size:11px;font-weight:600;background:#f1f4f7;color:#3c4a57;border-radius:8px;padding:0 6px}
.req-file{display:inline-block;margin-top:4px;font-size:12px}
.req-reply{border-top:1px solid #e3e8ee;padding-top:10px}
.req-reply-tools{margin:6px 0;font-size:12px}
.req-ops{display:flex;gap:6px;flex-wrap:wrap}
.req-assignee{color:#5b3f99}
.req-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:8px 0 12px}
.req-kpi{border:1px solid #e3e8ee;border-radius:8px;padding:8px 12px;background:#fff;display:flex;flex-direction:column}
.req-kpi b{font-size:14px;color:#0b3c5d}
.req-kpi span{font-size:12px;color:#5b6773}
.req-kpi-bad b{color:#b42318}
.req-h{font-size:14px;font-weight:600;color:#0b3c5d;margin:12px 0 8px}
.req-settings{margin-top:14px;border:1px solid #e3e8ee;border-radius:8px;padding:8px 12px;background:#f8fafc}
.req-settings summary{cursor:pointer;font-size:13px;font-weight:600;color:#0b3c5d}
.req-set-line{margin:8px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.req-delay-in{display:inline-block;width:80px}
.req-newcat{display:inline-block;max-width:280px}
.req-cat-table td{vertical-align:middle}
.req-switch{font-weight:400;font-size:12px;margin:0}

/* 2026-10-11 : suggestions du personnel */
.req-intro p{margin:0 0 4px}
.req-newbtns{display:flex;gap:8px;flex-wrap:wrap}
.req-newbtn-sugg{border-color:#e2cf9a;background:#fdf7e6;color:#8a5a00}
.req-newbtn-sugg:hover{background:#faefcf;border-color:#c99a2e}
.req-kind{font-size:11px;font-weight:600;color:#8a5a00;background:#fdf7e6;border:1px solid #f0dfb0;border-radius:8px;padding:0 6px}
.req-st-study{background:#efe9f8;color:#5b3f99}.req-st-accepted{background:#e3f2fd;color:#0b5c8f}.req-st-declined{background:#fdecea;color:#b42318}.req-st-done{background:#e6f4ea;color:#1a7f37}
.req-form-intro{font-size:13px;color:#5b4a1e;background:#fdf7e6;border:1px solid #f0dfb0;border-radius:7px;padding:8px 12px;margin:0 0 12px}
.req-anon .req-switch{font-size:13px}
.req-anon-chip,.req-pub-chip{font-size:11px;font-weight:600;border-radius:8px;padding:0 6px}
.req-anon-chip{background:#f1f4f7;color:#3c4a57}
.req-pub-chip{background:#e6f4ea;color:#1a7f37}
.req-publish{margin-top:12px;border:1px solid #b9d3e6;border-radius:8px;padding:8px 12px;background:#eef5fb}
.req-publish summary{cursor:pointer;font-size:13px;font-weight:600;color:#0073b1}
.req-publish .req-hint{margin:6px 0 8px}

/* 2026-10-11 : demandes - points d'entree contextuels + pilotage par categorie */
.req-ctxbar{display:flex;justify-content:flex-end;margin-top:12px;padding-top:10px;border-top:1px dashed #d6e2ec}
.req-ctxbtn{border:1px solid #c9b8e6;background:#f5f1fb;color:#5b3f99;border-radius:7px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer}
.req-ctxbtn:hover{background:#ece4f8;border-color:#7a5bb5}
.req-ctx{font-size:11px;font-weight:600;background:#f5f1fb;color:#5b3f99;border-radius:8px;padding:0 6px}
a.req-ctx-link:hover{text-decoration:underline;color:#5b3f99}
.req-ctxline{margin:0 0 10px}
.req-bycat th,.req-bycat td{font-size:12px}
.req-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.req-bad{color:#b42318;font-weight:700}

/* 2026-10-11 : demandes des apprenants et parents */
.req-role{font-size:11px;font-weight:600;border-radius:8px;padding:0 6px;background:#e8f4ef;color:#1f6b4a}
.req-role-parent{background:#fdf0e6;color:#8a4b14}
.req-school{font-size:12px;color:#3c4a57}
.req-newcat-aud{display:inline-block;width:auto}

/* 2026-10-11 : organisations multi-ecoles */
.hdr-btn-org{background:#0b6e6e}
.org-ui{font-size:13px;color:#3c4a57}
.org-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.org-badge{font-size:11px;font-weight:700;background:#e0f2f1;color:#0b6e6e;border-radius:8px;padding:1px 8px;text-transform:uppercase;letter-spacing:.03em}
.org-name{font-size:14px;color:#0b3c5d}
.org-me{font-size:12px;color:#5b6773;margin-left:auto}
.org-intro{margin:0 0 10px;color:#5b6773;font-size:13px;max-width:75ch}
.org-table td,.org-table th{font-size:12px;vertical-align:middle}
.org-table tfoot td{font-weight:700;border-top:2px solid #d6e2ec}
.org-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.org-go{text-align:right;white-space:nowrap}
.org-sub{display:block;font-size:11px;color:#5b6773;font-weight:400}
.org-log .org-sub{display:inline}
.org-cur td{background:#f3faf9}
.org-here{font-size:11px;font-weight:600;color:#0b6e6e}
.org-roles{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}
.org-role{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid #e3e8ee;border-radius:8px;padding:6px 10px;background:#fff}
.org-role .org-sub{display:inline;margin-left:6px}
.org-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.org-add .form-control{width:auto;min-width:180px}
.org-staff-chip{font-size:11px;font-weight:600;color:#0b6e6e;background:#e0f2f1;border-radius:8px;padding:0 6px;margin-left:4px}

/* 2026-10-11 : multi-ecoles etape 2 - personnel partage */
.org-pick{background:#f3faf9;border:1px solid #b2dfdb;border-radius:8px;padding:8px 12px}
.org-pick label{color:#0b6e6e}
.org-shared-chip{background:#fff4e5;color:#8a5300}
.org-load{border:1px solid #b2dfdb;background:#f3faf9;border-radius:8px;padding:8px 12px;margin-bottom:10px;font-size:13px}
.org-load-title{margin:0 0 4px;color:#0b6e6e}
.org-load ul{list-style:none;margin:0;padding:0}
.org-load li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #d7ece9;padding:3px 0;font-variant-numeric:tabular-nums}
.req-org-chip{font-size:11px;font-weight:600;background:#e0f2f1;color:#0b6e6e;border-radius:8px;padding:0 6px}

/* 2026-10-11 : multi-ecoles etape 3 - modeles herites */
.org-lock{display:block;margin:4px 0 10px;font-size:12px;color:#0b6e6e}
.org-formations{max-width:420px}
.rtpl-org{background:#f3faf9;border:1px solid #b2dfdb;border-radius:7px;padding:6px 10px;font-size:12px;color:#0b6e6e}

/* 2026-10-11 : multi-ecoles etape 4 - tableau de bord */
.org-pane[data-pane=dashboard] .syn-tablewrap{margin-bottom:6px}
.org-pane[data-pane=dashboard] tfoot td{font-weight:700}

/* 2026-10-11 : multi-ecoles etape 4 - seances communes */
.org-common-form{border:1px solid #b2dfdb;background:#f3faf9;border-radius:8px;padding:10px 12px}
.org-dur{width:90px!important;min-width:0!important}
.org-common-line{color:#0b6e6e}
.org-role .org-sub{display:block}

/* 2026-10-11 : multi-ecoles complements */
.org-paysum{border:1px solid #b2dfdb;background:#f3faf9;border-radius:8px;padding:8px 12px;margin-bottom:12px}

/* 2026-10-11 : multi-ecoles complements 2 */
.org-form-classes{display:inline-block;width:auto;min-width:160px;height:auto;max-height:90px;vertical-align:middle}
.org-person .org-load-title{margin-top:8px}

/* 2026-10-12 : droits non accordables par ce profil */
.privitem.is-locked{opacity:.5;cursor:not-allowed}
.privitem.is-locked input{cursor:not-allowed}

/* 2026-10-12 : Demandes et suggestions apres le Centre de notifications - courte barre de separation, espace egal de part et d'autre du bouton */
.nav_user_tab>li.hdr-req-li{display:flex;align-items:center;height:50px;padding:0 12px 0 13px;position:relative}
.nav_user_tab>li.hdr-req-li::before{content:"";position:absolute;left:0;top:50%;width:1px;height:18px;margin-top:-9px;background:#cfd5de}
.nav_user_tab>li.hdr-req-li .hdr-btn{margin:0}
@media (max-width:767px){.nav_user_tab>li.hdr-req-li{height:auto;padding:6px 15px}.nav_user_tab>li.hdr-req-li::before{display:none}}

/* 2026-10-15 : activites creees depuis l'import d'un syllabus */
.act-auto-box{margin-top:8px;padding:8px 10px;border:1px solid #cfe0f0;border-radius:6px;background:#f4f9fd;font-size:12px}
.act-auto-box .fa-magic{color:#7a5bb5}
.act-auto-list,.act-auto-rows{margin:4px 0 4px 16px;padding:0}
.act-auto-rows li.act-auto-skip{color:#8a6d3b}
.act-auto-err{color:#a94442;font-weight:600}
.act-auto-warn{color:#8a6d3b;font-weight:600}
.act-auto-btns{margin-top:6px}
.act-auto-setting{margin:10px 0 4px;padding-top:8px;border-top:1px dashed #dfe3ea}
/* 2026-10-15 : syllabus, activites a creer a la validation */
.sylf-newtag{display:inline-block;margin-left:4px;padding:0 6px;border-radius:8px;background:#fcf3e3;color:#8a6d3b;font-size:11px;font-weight:600}
.sylf-hchip.sylf-hchip-new{background:#fcf3e3;color:#8a6d3b;border-color:#f0dcb4}
.sylf-pendbox{margin-bottom:12px}
.sylf-hbar .sylf-raise{margin-left:auto;padding:2px 6px;font-size:12px;font-weight:600}
/* 2026-10-15 : occupations ailleurs (grille) + verification du creneau (formulaire) */
.tt-session-block.tt-busy-block{background:repeating-linear-gradient(135deg,#f1f3f5 0,#f1f3f5 6px,#e4e7eb 6px,#e4e7eb 12px);border-left:3px solid #9aa4ae;color:#55606b;cursor:not-allowed;box-shadow:none}
.tt-session-block.tt-busy-unav{border-left-color:#c58b1b}
.tt-session-block.tt-busy-other{border-left-color:#7d8590}
.tt-busy-block .tt-busy-label{display:block;font-size:11px;font-weight:600;line-height:1.3}
.tt-busy-block .tt-session-time{font-size:11px}
.tt-busy-legend{margin:4px 0 8px;font-size:12px;color:#55606b}
.tt-slot-check{margin:-4px 0 14px;padding:7px 10px;border-radius:6px;font-size:13px;line-height:1.4}
.tt-slot-check.tt-slot-ok{background:#e9f6ec;color:#2b6e31}
.tt-slot-check.tt-slot-bad{background:#fdecea;color:#a3332e}
.tt-slot-check.tt-slot-wait{color:#7a828a}
td.tt-slot-free{cursor:pointer}
td.tt-slot-free:hover{background:#eaf4fb;box-shadow:inset 0 0 0 1px #9cc8e8}
td.tt-slot-free:hover::after{content:"+";display:block;text-align:center;color:#3a87c4;font-weight:700;line-height:28px}
td.tt-slot-free.tt-slot-loading{text-align:center;color:#3a87c4;background:#eaf4fb}
td.tt-slot-free.tt-slot-loading::after{content:none}
/* 2026-10-15 : assistant "Mise en route" (Configurations) */
.list-group-item.sg-li{padding:10px 12px;border:0;background:transparent}
.sg-loading{padding:8px;color:#8a949e}
.sg-card{border:1px solid #d8e2ec;border-radius:10px;background:#f7fafd;overflow:hidden}
.sg-head{display:flex;align-items:center;gap:14px;padding:12px 16px;cursor:pointer;flex-wrap:wrap}
.sg-head:focus-visible{outline:2px solid #2f80c3;outline-offset:-2px}
.sg-title{font-size:15px;font-weight:600;color:#1d4f7a}
.sg-title .fa{color:#2f80c3;margin-right:4px}
.sg-ready .sg-title .fa{color:#2e8540}
.sg-progress{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:13px;color:#4f5b66}
.sg-bar{display:inline-block;width:140px;height:8px;border-radius:4px;background:#dde5ed;overflow:hidden}
.sg-bar i{display:block;height:100%;background:#2f80c3;border-radius:4px}
.sg-ready .sg-bar i{background:#2e8540}
.sg-chevron{color:#7d8a96;transition:transform .2s}
.sg-collapsed .sg-chevron{transform:rotate(-90deg)}
.sg-collapsed .sg-content{display:none}
.sg-content{padding:0 16px 12px;border-top:1px solid #e2e9f0}
.sg-intro{margin:10px 0 8px;font-size:13px;color:#5b6772}
.sg-steps{list-style:none;margin:0;padding:0}
.sg-step{display:flex;align-items:flex-start;gap:10px;padding:8px 6px;border-bottom:1px solid #e9eef3}
.sg-step:last-child{border-bottom:0}
.sg-step.sg-next{background:#eef5fc;border-radius:6px}
.sg-n{flex:0 0 20px;text-align:right;font-size:12px;color:#8a949e;padding-top:2px;font-variant-numeric:tabular-nums}
.sg-ico{flex:0 0 18px;padding-top:1px}
.sg-done .sg-ico{color:#2e8540}.sg-warn .sg-ico{color:#c27c0e}.sg-todo .sg-ico{color:#9aa4ae}.sg-opt .sg-ico{color:#b3bcc5}
.sg-body{flex:1;min-width:0}
.sg-label{font-size:13px;font-weight:600;color:#2b3640}
.sg-optional{font-weight:400;font-size:11px;color:#8a949e;margin-left:4px}
.sg-info{font-size:12px;color:#5b6772;margin-top:2px}
.sg-info .si-chip{margin:2px 4px 0 0}
.sg-actions{flex:0 0 auto;display:flex;gap:2px;align-items:center}
.sg-actions .btn-link{font-size:12px;padding:2px 6px}
@media (max-width:600px){.sg-progress{margin-left:0;width:100%}.sg-bar{flex:1}.sg-step{flex-wrap:wrap}.sg-actions{width:100%;justify-content:flex-end}}
.sg-important{font-weight:600;font-size:11px;color:#b5650d;background:#fdf1e1;border-radius:8px;padding:0 6px;margin-left:4px}
.sg-why{margin-top:3px;font-size:12px;color:#8a5a12}
.sg-extras{margin-top:8px;border-top:1px dashed #d8e2ec;padding-top:6px}
.sg-extras-toggle{background:none;border:0;padding:6px 4px;font-size:13px;font-weight:600;color:#1d4f7a;cursor:pointer}
.sg-extras-toggle .fa{transition:transform .2s;margin-right:4px}
.sg-extras-open .sg-extras-toggle .fa{transform:rotate(90deg)}
.sg-extras-count{font-weight:600;font-size:11px;color:#2f6f9f;background:#e6f0f8;border-radius:8px;padding:1px 7px;margin-left:4px}
.sg-extras-list{display:none}
.sg-extras-open .sg-extras-list{display:block}
.sg-step.sg-x{padding-left:32px}
.sg-x.sg-see .sg-ico{color:#2f80c3}
.sg-x.sg-done .sg-ico{color:#2e8540}
