/* v220 — only the administrator's individual-work workspace/dialog. */
.teacher-mode #admin-individual-groups,body:not(.teacher-mode) #teacher-individual-form{display:none}
.ig-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:18px;color:#0b184a;align-items:start}
.ig-layout .panel{min-width:0;margin:0;padding:20px;border-radius:18px}
.ig-layout h3{font-size:21px;line-height:1.25;color:#08134c;margin:0}
.ig-workspace{min-height:0}
.ig-teachers-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.ig-primary{flex:none;width:auto;min-height:42px;border:0;border-radius:10px;padding:10px 18px;background:linear-gradient(100deg,#ff9042,#ff123e);color:#fff;font-size:14px;font-weight:700;cursor:pointer}
.ig-primary:disabled{opacity:.6;cursor:wait}
.ig-primary:focus-visible,.ig-layout button:focus-visible,.ig-dialog button:focus-visible{outline:2px solid #235bbc;outline-offset:2px}
.ig-teacher{border:1px solid #e1e7f1;border-radius:8px;background:#fff;overflow:hidden;transition:background .15s,border-color .15s;min-width:0}
.ig-teacher.is-selected{background:#effbf5;border-color:#64c89f}
.ig-teacher-toggle{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:8px;padding:12px;width:100%;height:100%;border:0;background:transparent;text-align:left;color:#142553;cursor:pointer;font-size:13px;min-height:82px}
.ig-teacher-toggle b{font-size:14px;overflow-wrap:anywhere}
.ig-counter{padding:5px 8px;background:#f2f5fa;border-radius:6px;color:#506187;white-space:nowrap;font-size:11px}
#ig-teacher-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.ig-teacher-counts{display:flex;flex-wrap:wrap;gap:6px}
.ig-workspace-top{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid #edf0f5;min-width:0}
.ig-workspace-top h3{font-size:19px;flex:none;max-width:100%}
.ig-group-switcher{flex:1 1 140px;min-width:0;max-width:100%}
.ig-group-tab{width:auto;border:1px solid #e1e7f5;background:#f1f4ff;color:#0b205d;border-radius:7px;min-height:36px;font-size:13px;cursor:pointer}
.ig-group-tab.active{border-color:#59d0a8;background:#edfff7}
.ig-group-switcher .horizontal-carousel{--carousel-arrow-size:26px;--carousel-gap:6px}
.ig-group-switcher .carousel-fits{grid-template-columns:minmax(0,1fr);gap:0}
.ig-group-switcher .carousel-fits>.carousel-arrow{display:none}
.ig-group-switcher .carousel-groups>.carousel-track{gap:9px}
.ig-group-switcher .carousel-groups>.carousel-track>button{padding:8px 14px!important;max-width:none!important;white-space:nowrap!important}
.ig-group-link{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1px solid #e0e9e6;background:#fff;border-radius:8px;color:#142553;padding:10px;margin:5px 0;cursor:pointer;min-height:42px;font-size:13px}
.ig-group-link span{overflow-wrap:anywhere}.ig-group-link small{color:#65749b;flex:none}
.ig-group-link.is-current{border-color:#55ba94;background:#dcf7ea}
.ig-note{color:#6e7f9e;font-size:13px;line-height:1.5;margin:6px 0}
.ig-work-empty{padding:0}.ig-work-empty p{color:#7a87a2;line-height:1.6;font-size:14px}
.ig-legacy{margin-top:26px;font-size:13px;color:#65749b}.ig-legacy summary{cursor:pointer;padding:8px 0}
.ig-work-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}.ig-work-head h3{min-width:0;overflow-wrap:anywhere;font-size:18px;flex:1}
.ig-back{flex:none;min-height:40px;border:1px solid #e1e8f4;padding:9px 13px;border-radius:8px;background:#f6f8fc;color:#142553;cursor:pointer;font-size:13px}
.ig-group-tools{display:flex;align-items:center;gap:12px;margin-bottom:12px}.ig-group-tools .ig-search{flex:1;min-width:0}
.ig-search input,.ig-basics input,.ig-basics select{height:44px;min-width:0;width:100%;border:1px solid #dce4f2;border-radius:9px;padding:10px 14px;background:#fff;color:#172754;font-size:14px;box-sizing:border-box}
.ig-search input::placeholder,.ig-basics input::placeholder{color:#7b88a8;opacity:1}
.ig-search input:focus,.ig-basics input:focus,.ig-basics select:focus{border-color:#82b6d5;box-shadow:0 0 0 2px #82b6d523}
.ig-count{display:inline-block;border-radius:7px;padding:7px 10px;background:#e0faf0;color:#00a86b;white-space:nowrap;font-size:12px;font-weight:500;flex:none}
.ig-work-table-scroll{max-height:560px;overflow:auto;border:1px solid #e3eaf3;border-radius:10px}
.ig-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;color:#263b68;font-size:13px}
.ig-table th{position:sticky;top:0;z-index:1;background:#f0f4f7;color:#354e78;text-align:left;font-size:12px;padding:11px 10px;border-bottom:1px solid #e4eaf2}
.ig-table td{padding:10px;border-bottom:1px solid #edf0f5;vertical-align:middle;overflow-wrap:anywhere;line-height:1.4;background:#fff}
.ig-table tr:last-child td{border-bottom:0}.ig-table th:last-child,.ig-table td:last-child{width:86px;color:#6a7c9e}
.ig-members-table th:first-child{width:42px}.ig-members-table td:first-child{text-align:center}
.ig-table td:nth-child(2)>span:not(.ig-person){vertical-align:middle}.ig-person{display:inline-grid;place-items:center;vertical-align:middle;width:28px;height:28px;background:#f0f3fa;border-radius:50%;margin-right:8px}
.ig-person svg{width:16px;height:16px;fill:none;stroke:#152b66;stroke-width:1.7}.ig-members-table td:nth-child(2){font-weight:600}
.ig-work-actions{display:flex;justify-content:flex-end;margin-top:16px}
.ig-empty{padding:24px 10px;text-align:center;color:#7886a2!important;font-size:13px}
.ig-overlay{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:16px;background:#25314c73;backdrop-filter:blur(2px);color:#0c184b}
.ig-dialog{display:flex;flex-direction:column;width:min(820px,94vw);min-width:0;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);border-radius:14px;background:#fff;box-shadow:0 22px 65px #13213a30;overflow:hidden}
.ig-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px 16px;flex:none}
.ig-dialog h3{font-size:25px;line-height:1.3;color:#06134d;margin:0}.ig-dialog-head button{min-width:40px;height:40px;background:none;border:0;color:#8494b5;font-size:30px;cursor:pointer;line-height:1}
.ig-dialog-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 24px;scroll-padding:16px;scrollbar-width:thin}
.ig-basics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;border-bottom:1px solid #e1e7f1;padding:0 0 18px}
.ig-basics label{min-width:0;color:#08154c;font-size:14px;line-height:1.3;gap:7px;align-content:start}
.ig-dialog .ig-picker-title{font-size:23px;margin:18px 0 16px}
.ig-picker{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px;min-width:0}
.ig-available{min-width:0}.ig-available-scroll{border:1px solid #e0e6f0;border-radius:10px;margin-top:10px;max-height:360px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.ig-check-cell{width:42px!important;text-align:center!important}.ig-table input[type=checkbox]{width:18px;height:18px;margin:0;vertical-align:middle;accent-color:#05ad75;cursor:pointer}
.ig-available-scroll .ig-table td{padding:7px 9px;min-height:42px}.ig-available-scroll .ig-table th{padding:9px}
.ig-selected{border:1px solid #e0e6f0;border-radius:10px;min-width:0;display:flex;flex-direction:column}
.ig-selected-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid #edf0f5;flex:none}
.ig-selected-head h4{margin:0;font-size:14px;line-height:1.4;color:#0c184b}
#ig-selected-rows{max-height:362px;min-height:260px;overflow:auto;scrollbar-width:thin;flex:1}
.ig-selected-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 12px;border-bottom:1px solid #edf0f5;font-size:13px}
.ig-selected-row>span{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.ig-selected-row b{font-weight:500;line-height:1.4}.ig-selected-row small{color:#7583a3;font-size:11px}
.ig-selected-row button{flex:none;width:40px;height:40px;border:0;border-radius:8px;background:#fff1f1;color:#ea4256;font-size:23px;cursor:pointer}
.ig-selection-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:340px;padding:18px;text-align:center;color:#354a7b;font-size:15px;gap:12px}
.ig-selection-empty svg{width:62px;height:48px;fill:#a3adc2}.ig-selection-empty p{font-size:13px;color:#7384a8;line-height:1.5;margin:0}
.ig-dialog-footer{flex:none;padding:18px 24px}.ig-dialog-footer .ig-primary{width:100%;height:48px;font-size:16px}
.ig-dialog-buttons{display:flex;gap:12px;min-width:0}.ig-editing .ig-dialog-buttons>*{flex:0 1 auto;min-width:0;width:auto}.ig-editing #ig-delete{margin-right:auto}.ig-destructive{padding:12px 16px;color:#d5223a;background:#fff0f2;border:1px solid #f3cbd1;border-radius:12px;white-space:normal}.ig-basics label[hidden],.ig-dialog-buttons button[hidden]{display:none}
@media(max-width:680px){.ig-editing .ig-dialog-buttons{flex-wrap:wrap}.ig-editing #ig-delete{flex-basis:100%;margin:0}.ig-editing #ig-cancel,.ig-editing #ig-submit{flex:1;width:auto}}
.ig-error{display:block;color:#d32b42;font-size:12px;line-height:1.5;margin:6px 0 0;overflow-wrap:anywhere}.ig-error[hidden]{display:none}.ig-dialog-footer .ig-error{margin:0 0 8px}
.ig-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:835px) and (max-width:1280px){.ig-layout .panel{padding:16px}.ig-layout h3{font-size:18px}.ig-teachers-head{flex-wrap:wrap}.ig-teacher-toggle{padding:10px}.ig-counter{padding:5px;font-size:10px}}
@media(max-width:900px){.ig-layout{grid-template-columns:minmax(0,1fr)}.ig-teachers{grid-row:1}.ig-workspace{grid-row:2;min-height:0}.ig-layout .panel{padding:16px}.ig-work-head h3{font-size:18px}.ig-dialog{width:min(820px,94vw)}}
.ig-check-target{display:grid;place-items:center;width:100%;min-height:28px;cursor:pointer}
@media(max-width:680px){.ig-check-target{min-height:44px}.ig-available-scroll .ig-table .ig-check-cell{padding:0 3px}.ig-selected-row button{width:44px;height:44px}}
@media(max-width:680px){.ig-layout{gap:14px}.ig-layout h3{font-size:18px}.ig-layout:not(.ig-show-group) .ig-workspace,.ig-layout.ig-show-group .ig-teachers{display:none}#ig-teacher-list{grid-template-columns:minmax(0,1fr)}.ig-teachers-head{flex-wrap:wrap;margin-bottom:14px}.ig-teacher-toggle{gap:8px;padding:12px;min-height:78px}.ig-workspace-top{gap:10px;padding-bottom:12px;margin-bottom:14px}.ig-workspace-top h3{flex-basis:100%}.ig-work-head{display:grid;grid-template-columns:1fr auto;gap:12px}.ig-work-head h3{grid-row:2;grid-column:1/-1;font-size:17px}.ig-work-head #ig-back{justify-self:start}.ig-work-head #ig-edit{grid-row:1;grid-column:2}.ig-group-tools{gap:8px}.ig-group-tools .ig-search{flex:1}.ig-group-tools input{font-size:12px;padding:10px}.ig-count{padding:7px;font-size:11px}.ig-members-table th:last-child,.ig-members-table td:last-child{width:66px}.ig-members-table th:first-child{width:28px}.ig-members-table td{padding:10px 7px}.ig-members-table .ig-person{display:none}.ig-overlay{padding:0}.ig-dialog{width:100%;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0}.ig-dialog-head{padding:14px 16px 12px}.ig-dialog h3{font-size:22px}.ig-dialog-scroll{padding:0 16px;flex:1}.ig-basics,.ig-picker{grid-template-columns:minmax(0,1fr)}.ig-basics{gap:14px}.ig-dialog .ig-picker-title{font-size:20px;margin:16px 0 12px}.ig-available-scroll{max-height:260px}.ig-available-scroll .ig-table td{padding:10px 8px}.ig-check-cell{width:42px!important}.ig-table input[type=checkbox]{width:20px;height:20px}.ig-dialog .ig-table th:last-child,.ig-dialog .ig-table td:last-child{width:70px}.ig-dialog .ig-person{display:none}.ig-selected-head{padding:10px 12px}#ig-selected-rows{min-height:140px;max-height:220px}.ig-selection-empty{min-height:150px;font-size:14px}.ig-selection-empty svg{width:46px;height:36px}.ig-selection-empty p br{display:none}.ig-dialog-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom))}.ig-dialog-footer .ig-primary{height:44px;font-size:14px}}
@media(prefers-reduced-motion:reduce){.ig-teacher{transition:none}}
