:root{--m-accent:#3b82f6;--m-ink:#1f2937;--m-ink-2:#5b6472;--m-ink-3:#98a1b0;--m-line:#ebeff5;--m-line-2:#f3f6fa;--m-bg:#f3f5f9;--m-card:#fff;--m-tabbar-h:56px;--m-gap:12px;--m-bottom-pad:80px}.m-tabbar,.m-sheet,.m-sheet-mask{display:none}.stu-photo,.stu-avatar-fallback{width:34px;height:34px;min-width:34px;max-width:34px;flex:none;aspect-ratio:1 / 1;border-radius:50%;object-fit:cover;background:#edf1f7;color:#94a3b8;font-size:14px;font-weight:600;align-items:center;justify-content:center;overflow:hidden;user-select:none}.stu-photo{display:block}.stu-avatar-fallback{display:flex}#studentsTable td.cell-photo{padding-left:12px;padding-right:6px;width:1%}.more-btn,.only-mobile{display:none}@media(min-width:769px){.only-mobile{display:none!important}}@media(max-width:768px){.navHTML,#navbarContainer,#navbar-container,#roleNav{display:none!important}body{display:block!important;background:var(--m-bg);overflow-x:clip;-webkit-text-size-adjust:100%}body:has(.login-container){display:flex!important;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:0 16px}.login-container{width:100%!important;max-width:380px;padding:28px 20px!important}body::before{background:var(--m-bg)!important}.main-content,.main-container{margin-left:0!important;min-height:auto!important}main,main.container{margin:0!important;padding:10px var(--m-gap) var(--m-bottom-pad)!important;max-width:100%!important}main::after{content:'';display:block;height:env(safe-area-inset-bottom,0px)}html,body{max-width:100vw;overflow-x:clip}main .sticky-head{position:sticky;top:0;z-index:25;background:var(--m-card);border-radius:11px 11px 0 0;box-shadow:0 1px 0 var(--m-line)}main .sticky-head>*{min-width:0!important}main .sticky-head>h2,main .sticky-head>h3{flex:1 1 100%!important;margin-right:0!important;font-size:16px!important}main .sticky-head>input,main .sticky-head>select{flex:1 1 auto!important;width:auto!important}main .sticky-head>div{flex:1 1 100%!important;gap:8px!important}main .sticky-head>div>input{flex:1 1 auto!important;width:auto!important;min-width:0!important}main .sticky-head>div>select{flex:0 0 auto!important}header>div{padding:9px var(--m-gap)!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important}header .hdr-actions{display:none!important}header h1{font-size:15px!important;line-height:1.3!important;white-space:nowrap}header h1+p,header .role-badge{font-size:12px!important}header .role-badge{padding:1px 7px!important;margin-left:6px!important;vertical-align:2px}header i.fa-graduation-cap,header i.fa-gavel{font-size:19px!important;margin-right:8px!important}header h1,header button,header a,header span,main h1,main h2,main h3,main label,main button,main th{word-break:keep-all}main .flex.justify-between{flex-wrap:wrap!important;gap:8px 10px!important}main .flex.justify-between>h1,main .flex.justify-between>h2,main .flex.justify-between>h3{flex:1 1 100%!important;min-width:0!important;font-size:16px!important}main .flex.justify-between>h1+div,main .flex.justify-between>h2+div{flex:1 1 100%!important}main .grid.grid-cols-1,main .grid[class*="md:grid-cols-"],main .grid-cols-4,main .grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}main .grid.grid-cols-1>div,main .grid[class*="md:grid-cols-"]>div{padding:10px 12px!important;border-radius:10px!important}main .grid>div>.text-sm.text-gray-500,main .grid>div>div:first-child.text-sm{font-size:12px!important;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}main .grid>div>.text-2xl,main .grid>div>.text-3xl{font-size:20px!important;line-height:1.3!important;margin-top:2px!important}.view-btn,.tab-btn{padding:10px 14px!important;font-size:13px!important;white-space:nowrap!important;border-radius:9px!important;min-height:44px}main div:has(>.view-btn),main div:has(>.tab-btn){display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important;overflow:visible!important;padding:9px 12px!important}main div:has(>.view-btn)>.view-btn,main div:has(>.tab-btn)>.tab-btn{flex:1 1 auto;min-width:0;justify-content:center}main div:has(>.view-btn)>.ml-auto,main div:has(>.tab-btn)>.ml-auto{position:static;flex:1 1 auto!important;margin-left:0!important;min-height:44px;display:inline-flex;align-items:center;justify-content:center;background:#f1f5fa;border-radius:9px;box-shadow:none}input,select,textarea{font-size:16px!important}.role-badge,p.text-xs,span.text-xs,small{font-size:12px!important;line-height:1.5}input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select{min-height:44px;padding:10px 12px!important;border-radius:9px!important}textarea{padding:10px 12px!important;border-radius:9px!important}label{font-size:13px!important;margin-bottom:4px!important}.toolbar-row{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;align-items:stretch}.toolbar-row>.toolbar-search{grid-column:1 / -1}.toolbar-search>input:not([type="checkbox"]):not([type="radio"]):not([type="file"]){padding-left:40px!important}.toolbar-row>select{width:100%!important;min-width:0!important}.toolbar-row>button{justify-content:center;min-height:42px;padding:9px 6px!important;font-size:13px!important}.toolbar-row>#myStuAppBtn{grid-column:1 / -1}.toolbar-compact{display:grid!important;grid-template-columns:1.05fr 1.15fr 1fr;gap:6px!important;width:100%;align-items:stretch}.toolbar-compact>*+*{margin-left:0!important}.toolbar-compact>h2{grid-column:1 / -1;margin-right:0!important}.toolbar-compact>input,.toolbar-compact>select{width:100%!important;min-width:0!important;padding:10px 6px 10px 10px!important;text-overflow:ellipsis}.toolbar-compact>input{font-size:16px!important}.fixed.inset-0 .grid.grid-cols-1,.fixed.inset-0 .grid[class*="md:grid-cols-"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 10px!important}.list-toolbar{position:sticky;top:0;z-index:30;background:var(--m-card);margin:-12px -12px 10px!important;padding:10px 12px!important;border-bottom:1px solid var(--m-line)}.list-card{overflow:visible!important}main .rounded-lg.shadow-lg,main .rounded-lg.shadow-sm,main .rounded-lg.shadow,main .rounded-xl.shadow-lg,main .rounded-xl.shadow-sm,main .rounded-xl.shadow-md{box-shadow:none!important;border:1px solid var(--m-line)}main .bg-white.rounded-lg,main .bg-white\/80.rounded-lg{border-radius:12px!important}main .bg-primary.rounded-t-lg,main .bg-primary.p-4,main .bg-primary.p-3{padding:11px 13px!important;border-radius:11px 11px 0 0!important}main .bg-primary h1,main .bg-primary h2,main .bg-primary h3{font-size:15px!important}main .p-4,main .p-6{padding:12px!important}.fixed.inset-0{z-index:90!important}.fixed.inset-0>div{max-width:100%!important;width:100%!important;margin:0!important}.fixed.inset-0>div[class*="max-h-"],.fixed.inset-0>div.max-h-\[90vh\],.fixed.inset-0>div.max-h-\[88vh\],.fixed.inset-0>div.max-h-\[85vh\]{max-height:100vh!important;height:100vh!important;border-radius:0!important}.fixed.inset-0>div>.bg-primary,.fixed.inset-0>div>div.bg-primary{padding:12px 14px!important;border-radius:0!important;flex-shrink:0}.fixed.inset-0>div>div[class*="overflow-y-auto"],.fixed.inset-0 .overflow-y-auto{padding:12px 14px!important}.fixed.inset-0 .flex.justify-end:last-child,.modal-actions{position:sticky;bottom:0;z-index:6;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;background:#fff;margin:0!important;padding:12px 14px 14px!important;border-top:1px solid var(--m-line)}.fixed.inset-0 .flex.justify-end>*{margin-left:0!important;margin-right:0!important}.modal-actions>button,.fixed.inset-0 .flex.justify-end>button,.fixed.inset-0 .flex.justify-end>a{flex:1 1 0!important;min-width:0!important;min-height:46px;padding:11px 10px!important;font-size:15px!important;margin:0!important;justify-content:center}main button,.fixed.inset-0 button{min-height:44px}.fixed.inset-0 .bg-primary button.ml-auto,main .bg-primary button.ml-auto,.fixed.inset-0 button[id*="lose"],.fixed.inset-0 button[id*="Close"]{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}main a[class*="text-xs"],main a.inline-block,.fixed.inset-0 a[class*="text-xs"],.fixed.inset-0 a.inline-block,#viewRuleBtn,#dsViewRuleBtn{display:inline-flex;align-items:center;min-height:40px}table[data-m-card]{display:block!important;width:100%!important;min-width:0!important;table-layout:auto!important}table[data-m-card] thead{display:none!important}table[data-m-card] tbody{display:block!important;width:100%!important}table[data-m-card] tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;background:var(--m-card);border:1px solid var(--m-line);border-radius:12px;margin:0 0 9px!important;padding:11px!important;width:100%!important}table[data-m-card] td{display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:flex-start!important;gap:2px;width:auto!important;min-width:0;padding:0!important;border:0!important;white-space:normal!important;text-align:left!important;font-size:13.5px;font-weight:600;line-height:1.35;color:var(--m-ink);word-break:break-word}table[data-m-card] td::before{content:attr(data-label);display:block;color:var(--m-ink-3);font-size:10.5px;font-weight:500;letter-spacing:.2px;line-height:1.3}table[data-m-card] td.m-card-title{order:-1;grid-column:1 / -1;font-size:16.5px!important;font-weight:700!important;color:var(--m-ink)!important;padding-bottom:9px!important;border-bottom:1px solid var(--m-line-2)!important}table[data-m-card] td.m-card-title::before{content:none}table[data-m-card] td.m-card-actions{order:99;grid-column:1 / -1;display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center!important;gap:8px;padding-top:10px!important;border-top:1px solid var(--m-line-2)!important}table[data-m-card] td.m-card-actions::before{content:none}table[data-m-card] td.m-card-actions button,table[data-m-card] td.m-card-actions a{flex:1 1 auto;justify-content:center;background:#f1f5fa!important;color:var(--m-ink)!important;border-radius:10px!important;padding:0 14px!important;margin:0!important;font-size:14px!important;font-weight:600;min-height:44px;display:inline-flex;align-items:center;gap:5px}table[data-m-card] td.m-card-actions .del-btn,table[data-m-card] td.m-card-actions button[class*="red"]{background:#fef2f2!important;color:#dc2626!important}table[data-m-card] tr:has(td[colspan]){display:block!important;background:transparent;border:0;padding:0!important;margin:0!important}table[data-m-card] tr:has(td[colspan]) td{grid-column:1 / -1;display:block!important;text-align:center!important;padding:28px 12px!important;color:var(--m-ink-3)}table[data-m-card] tr:has(td[colspan]) td::before{content:none}#studentsTable{overflow-x:visible!important;overflow:visible!important}#studentsTable thead{display:none!important}#studentsTable table,#studentsTable tbody{display:block!important;width:100%!important;min-width:0!important}#studentsTable tr{display:grid!important;grid-template-columns:48px minmax(0,1fr) 62px;grid-template-areas:"photo title score" "acts  acts  acts";align-items:center;column-gap:10px;row-gap:0;background:var(--m-card);border:1px solid var(--m-line);border-radius:12px;margin:0 0 10px!important;padding:11px 12px!important}#studentsTable td{display:block!important;width:auto!important;margin:0!important;border:0!important;padding:0!important;text-align:left!important;white-space:normal!important;font-size:13px;min-width:0}#studentsTable td.cell-photo{grid-area:photo;align-self:center}#studentsTable td.cell-photo .stu-photo,#studentsTable td.cell-photo .stu-avatar-fallback{width:48px;height:48px;font-size:19px}#studentsTable td.cell-title{grid-area:title;font-size:16.5px!important;font-weight:700;color:var(--m-ink);line-height:1.25;overflow:hidden}#studentsTable td.cell-title .stu-sub-inline{display:block;margin-top:3px;font-size:12px;font-weight:400;color:var(--m-ink-2);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#studentsTable td.cell-score{grid-area:score;text-align:right!important}#studentsTable td.cell-score .score-chip{display:block;width:100%;padding:6px 0;border-radius:10px;background:#f1f5fa;font-size:15px;font-weight:700;text-align:center;white-space:nowrap}#studentsTable td.cell-actions{grid-area:acts;display:flex!important;flex-wrap:nowrap;align-items:center;gap:8px;margin-top:10px!important;padding-top:10px!important;border-top:1px solid var(--m-line-2)!important}#studentsTable td.cell-actions button{flex:1 1 0;display:inline-flex!important;align-items:center;justify-content:center;gap:5px;background:#f1f5fa!important;color:var(--m-ink)!important;border-radius:10px!important;padding:0 6px!important;margin:0!important;font-size:14px!important;font-weight:600;min-height:44px;white-space:nowrap}#studentsTable td.cell-actions .sec-btn{display:none!important}#studentsTable td.cell-actions .more-btn{display:inline-flex!important}#studentsTable tr:has(td[colspan]){display:block!important;border:0;padding:0!important;background:transparent}#studentsTable tr:has(td[colspan]) td{display:block!important;padding:30px 12px!important;text-align:center!important;color:var(--m-ink-3)}#studentsTable td.only-desktop,.only-desktop{display:none!important}#paginationContainer{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding-bottom:4px}#paginationContainer button,#paginationContainer a{min-width:44px!important;min-height:44px!important;padding:8px 10px!important;font-size:14px!important}#detailBody>div:first-child,#detailBody .bg-gradient-to-r{padding:14px!important;border-radius:12px!important;margin-bottom:12px!important}#detailBody img.stu-avatar-lg,#detailBody .w-24{width:64px!important;height:64px!important}#detailBody .ml-5{margin-left:14px!important}#detailBody h3.text-2xl{font-size:19px!important}#detailBody .field-group-body,#detailBody .grid.grid-cols-2,#detailBody .grid[class*="md:grid-cols-"]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 12px!important;padding:12px!important}#detailBody .field-group-body>div{display:flex!important;flex-direction:column;gap:2px;min-width:0!important;padding:0!important;border:0!important}#detailBody .field-group-body>div>*:first-child{font-size:11px!important;color:var(--m-ink-3)!important;font-weight:500}#detailBody .field-group-body>div>*:last-child{font-size:14px!important;font-weight:600;word-break:break-word}#detailBody section>div:first-child,#detailBody .field-group-head{padding:10px 12px!important;font-size:14px!important}#detailBody section{margin-bottom:12px!important}.record-thumb,#detailRecords img{max-width:100%;border-radius:8px}.m-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--m-line);padding-bottom:env(safe-area-inset-bottom)}.m-tab{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 2px 7px;min-height:var(--m-tabbar-h);border:0;background:0;font-size:11px;line-height:1.1;color:#8a93a3;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.m-tab i{font-size:19px;line-height:1}.m-tab.is-active{color:var(--m-accent);font-weight:600}.m-tab-badge{position:absolute;top:5px;right:50%;transform:translateX(16px);min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#ef4444;color:#fff;font-size:10px;line-height:16px;text-align:center;font-weight:700}body.m-modal-open .m-tabbar{display:none!important}.m-sheet-mask{display:block;position:fixed;inset:0;z-index:95;background:rgba(17,24,39,.38);opacity:0;pointer-events:none;transition:opacity .18s ease}.m-sheet-mask.is-open{opacity:1;pointer-events:auto}.m-sheet{display:block;position:fixed;left:8px;right:8px;bottom:8px;z-index:96;background:#fff;border-radius:16px;padding:6px;padding-bottom:6px;box-shadow:0 12px 32px rgba(17,24,39,.18);transform:translateY(120%);transition:transform .22s cubic-bezier(.22,.8,.3,1);max-height:70vh;overflow-y:auto}.m-sheet.is-open{transform:translateY(0)}.m-sheet-title{padding:12px 14px 8px;font-size:12px;color:var(--m-ink-3);text-align:center}.m-sheet .m-sheet-item{display:flex;align-items:center;gap:10px;width:100%;min-height:50px;padding:14px;border:0;border-radius:11px;background:0;font-size:15px;color:var(--m-ink);text-decoration:none;text-align:left}.m-sheet .m-sheet-item:active{background:#f3f5f9}.m-sheet .m-sheet-item i{width:20px;text-align:center;color:var(--m-ink-2);font-size:16px}.m-sheet .m-sheet-item.is-danger,.m-sheet .m-sheet-item.is-danger i{color:#dc2626}.m-sheet .m-sheet-cancel{display:block;width:100%;min-height:50px;margin-top:4px;border:0;border-top:1px solid var(--m-line);border-radius:0 0 12px 12px;background:0;font-size:15px;font-weight:600;color:var(--m-ink-2)}#rulesContainer .rl-card-head{padding:11px 10px!important;gap:6px 10px!important}#rulesContainer .rl-card-head b{font-size:15px!important}#rulesContainer .rl-cat-cap{width:100%!important;justify-content:flex-start}#rulesContainer .rl-cat-cap-in{width:64px!important;min-height:28px}#rulesContainer .rl-ops{gap:8px!important}#rulesContainer .rl-op{min-width:44px!important;height:40px!important;display:inline-flex;align-items:center;justify-content:center}#rulesContainer .rl-op.rl-add{margin-left:0!important;min-width:92px!important;height:34px!important}#rulesContainer .rl-grip{font-size:16px!important}#allStuPager button,#applyStuPager button,#paginationContainer button{min-height:44px}}@media(max-width:400px){main,main.container{padding-left:10px!important;padding-right:10px!important}#studentsTable tr{grid-template-columns:44px minmax(0,1fr) 58px;column-gap:8px;padding:10px!important}#studentsTable td.cell-title{font-size:16px!important}#studentsTable td.cell-actions button{font-size:13.5px!important;gap:4px}table[data-m-card] tr{gap:8px;padding:10px!important}.list-toolbar{margin:-10px -10px 10px!important;padding:10px!important}}@media(hover:none){#studentsTable td.cell-actions button:active,table[data-m-card] td.m-card-actions button:active,main .grid>div:active{background:#e4eaf2!important}.view-btn:active,.tab-btn:active{opacity:.75}}@media(max-width:768px){.stat-tabs-bar{flex-wrap:wrap!important;overflow-x:visible!important;row-gap:6px!important}.stat-tabs-bar .stat-tab{padding:7px 10px!important;font-size:12.5px!important;line-height:1.25!important}}@media(max-width:860px){.tb-wrap button,.sh-btn{min-height:36px}}@media(max-width:860px){main table:not([data-m-card]){display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}main table:not([data-m-card])>thead,main table:not([data-m-card])>tbody,main table:not([data-m-card])>tfoot{display:table;width:100%;min-width:max-content}main table:not([data-m-card])>thead>tr,main table:not([data-m-card])>tbody>tr,main table:not([data-m-card])>tfoot>tr{display:table-row}main .tb-wrap table,main .table-wrap table,main [style*="overflow"] table{display:table;width:auto;overflow-x:visible}main .tb-wrap table>thead,main .tb-wrap table>tbody,main .table-wrap table>thead,main .table-wrap table>tbody,main [style*="overflow"] table>thead,main [style*="overflow"] table>tbody{display:table-header-group;min-width:0}main .tb-wrap table>tbody,main .table-wrap table>tbody,main [style*="overflow"] table>tbody{display:table-row-group}main a.btn,main a[class*="btn"],main [role="button"],main input[type="button"],main input[type="submit"],main select{min-height:44px}main table button,main .tb-wrap button,main .sh-btn{min-height:40px;min-width:40px}main small,main .text-xs,main sup,main sub{font-size:12px!important}}@media(max-width:860px){body>header>div,body>header .max-w-6xl,body>header .max-w-7xl,body>header .container{flex-wrap:wrap!important;row-gap:8px!important}body>header div[class*="items-center"]{flex-wrap:wrap!important;min-width:0!important}body>header h1{min-width:0!important;overflow-wrap:anywhere}body>header #currentUser,body>header #contextBar{max-width:100%!important;min-width:0!important}body>header #contextBar>*{min-width:0!important}}@media(max-width:860px){main small,main sup,main sub,main code,main figcaption,main cite,main abbr{font-size:12px!important}main .text-xs,main .text-2xs,main .text-\[10px\],main .text-\[11px\],main .text-\[11\.5px\],main [class*="text-xs"],main .sm-sub,main .sm-tip,main .hm-info-t,main .hm-d-sub,main .pl-badge,main .pl-gtag,main .c2,main .cn,main .cn2,main .tc,main .tc2,main .teach,main .hd,main .t,main .v,main .uid,main .ol-req,main .ol-ip,main .rs-meta,main .rs-txt,main .es-tip,main .es-uid,main .nb-n,main .stu-cat,main .ev-sub,main .ev-meta,main .cd-sub,main .kb-sub,main .rt-sub,main .sm-count{font-size:12px!important;line-height:1.45!important}}@media(max-width:860px){main button,main a.btn,main a[class*="btn"],main [role="button"],main input[type="button"],main input[type="submit"],main select{min-height:44px!important}main table input[type="checkbox"],main table input[type="radio"],main input[type="checkbox"].row-ck,main input[type="checkbox"][id*="All"],main input[type="checkbox"][id*="all"]{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;margin:4px!important;vertical-align:middle;cursor:pointer}main table td:has(>input[type="checkbox"]){padding-top:6px!important;padding-bottom:6px!important;text-align:center}}@media(max-width:860px){main input[type="checkbox"],main input[type="radio"]{width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;margin:4px!important;vertical-align:middle;cursor:pointer}main label:has(>input[type="checkbox"]),main label:has(>input[type="radio"]){min-height:40px;display:inline-flex;align-items:center}}