/* ==========================================
   CLASSROOM INSTRUCTOR — Managing submissions
   4 animation blocks. Reuses adding-students.css for shell
   (sidebar/body/breadcrumb) and assignment-submissions.css
   for the submission table, score chips, action buttons and
   the .as-rep overlay scaffold. Adds page-specific styles for:
     - Folder-context page header ("Submissions (8)")
     - Bulk action bar (Save-to-Repo + Bulk Delete)
     - Repository "saved" green badge in similarity column
     - Grammar Detailed Analysis report (stats + donut + sub-scores
       + Duplicate Sub-Strings + Indexed content + 3-dot menu
       + Similarity Score navigator)
     - AI Report (highlighted lines doc + AI donut + 3-dot menu
       + Switch to Old View toggle)
   ========================================== */

/* === Folder page header (Submissions count + toolbar) === */
.ms-hdrow{display:flex;align-items:center;justify-content:space-between;margin-top:2px;margin-bottom:5px;gap:6px}
.ms-pgtitle{font-size:11px;font-weight:700;color:#1a1a1a}
.ms-pgtitle span{font-weight:700;margin-left:1px;color:#1a1a1a}
.ms-tools{display:flex;align-items:center;gap:5px}

/* === Floating tooltip (used in overview scene to label each highlighted element) === */
.ms-tip{position:absolute;background:#1a1a1a;color:#fff;border-radius:5px;padding:4px 8px;font-size:9px;font-weight:500;box-shadow:0 4px 14px rgba(0,0,0,.22);pointer-events:none;opacity:0;transform:translateY(-3px);transition:opacity .2s ease,transform .2s ease,top .35s cubic-bezier(.4,0,.2,1),left .35s cubic-bezier(.4,0,.2,1);z-index:60;white-space:nowrap;line-height:1.3;max-width:170px}
.ms-tip.on{opacity:1;transform:translateY(0)}
.ms-tip::after{content:'';position:absolute;top:-4px;left:var(--arrow-x,12px);width:0;height:0;border:4px solid transparent;border-bottom-color:#1a1a1a;border-top:0}
.ms-tip.flip::after{top:auto;bottom:-4px;border-bottom:0;border-top:4px solid #1a1a1a}
.ms-tip .typed{display:inline-block;min-width:6px}
.ms-tip .typed::after{content:'|';color:#4285f4;margin-left:1px;animation:ms-tip-blink .9s steps(2,start) infinite}
@keyframes ms-tip-blink{to{visibility:hidden}}
.ms-tip.done .typed::after{display:none}

/* === Bulk action bar === */
.ms-bulkbar{display:flex;gap:4px;padding:4px 6px;background:#fff;border:1px solid #eee;border-radius:5px;margin:0 0 4px;width:fit-content;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.ms-bulkbar.on{opacity:1;transform:translateY(0);pointer-events:auto}
.ms-bb-btn{width:18px;height:18px;border:1px solid #ddd;border-radius:3px;display:flex;align-items:center;justify-content:center;background:#fff;color:#666;transition:all .2s}
.ms-bb-btn svg{width:10px;height:10px}
.ms-bb-btn.hl{background:#e8f0fe;border-color:#4285f4;color:#4285f4;transform:scale(1.18)}
.ms-bb-btn.hl-del{background:#fde0e0;border-color:#e54545;color:#e54545;transform:scale(1.18)}

/* Row checked state */
.as-strow.bulk-on .as-stcb{background:#1447E6;border-color:#1447E6;position:relative}
.as-strow.bulk-on .as-stcb::after{content:"";position:absolute;left:1.5px;top:0px;width:4px;height:7px;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(45deg)}

/* Repository saved-to-global green badge */
.ms-saved-badge{display:inline-flex;align-items:center;justify-content:center;width:11px;height:11px;border-radius:2px;background:#22a06b;color:#fff;font-size:8px;margin-left:3px;opacity:0;transform:scale(.5);transition:opacity .3s ease,transform .3s ease;vertical-align:middle}
.ms-saved-badge.on{opacity:1;transform:scale(1)}
.ms-saved-badge svg{width:7px;height:7px}

/* Failure toast (uses .as-toast base from assignment-submissions.css) */
.as-toast.ms-toast-fail .as-toast-ico{background:#e54545}

/* FAB shown in overview scene (reuse mc-fab from adding-students.css) */
.mc-fab.ms-fab-pos{bottom:8px;right:8px;width:26px;height:26px;font-size:14px}

/* === Detailed Analysis / AI report overlay === */
.ms-rep{position:absolute;inset:0;background:#fff;z-index:25;opacity:0;pointer-events:none;transition:opacity .35s ease;display:flex;flex-direction:column}
.ms-rep.on{opacity:1;pointer-events:auto}
.ms-rep-hd{padding:5px 10px;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;gap:6px;background:#fff;flex-shrink:0;position:relative}
.ms-rep-hd-logo{display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;color:#1447E6}
.ms-rep-hd-logo i{width:11px;height:11px;background:#1447E6;border-radius:3px;display:block}
.ms-rep-hd-actions{display:flex;gap:4px;align-items:center}
.ms-rep-hd-icon{width:18px;height:18px;border:1px solid transparent;border-radius:3px;display:flex;align-items:center;justify-content:center;color:#666;transition:all .2s;font-size:11px;font-weight:700}
.ms-rep-hd-icon svg{width:10px;height:10px}
.ms-rep-hd-icon.hl{background:#e8f0fe;border-color:#4285f4;color:#4285f4;transform:scale(1.18)}

.ms-rep-meta{padding:4px 10px;font-size:7.5px;color:#666;display:flex;gap:8px;background:#f8fafd;border-bottom:1px solid #eef;align-items:center;flex-wrap:nowrap;flex-shrink:0}
.ms-rep-meta b{color:#222;margin-right:2px}
.ms-rep-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-rep-meta-sim{margin-left:auto;color:#1447E6;font-weight:600;padding:2px 5px;border-radius:4px;cursor:default;transition:all .2s;flex-shrink:0}
.ms-rep-meta-sim.hl{background:#e8f0fe;box-shadow:0 0 0 2px rgba(20,71,230,.15);transform:scale(1.05)}

.ms-rep-title{padding:3px 10px;font-size:8px;color:#444;background:#f0f4ff;border-bottom:1px solid #e3eaf3;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}

.ms-rep-body{flex:1;display:flex;padding:6px;gap:6px;overflow:hidden;min-height:0}
.ms-rep-doc{flex:1.4;background:#fff;border:1px solid #eee;border-radius:5px;padding:8px;font-size:7.5px;color:#333;overflow:hidden;line-height:1.45;position:relative}

/* Grammar view swappers (gv-stats / gv-substr / gv-idx) */
.ms-gv{position:absolute;left:8px;right:8px;top:8px;bottom:8px;opacity:0;pointer-events:none;transition:opacity .3s ease;overflow:hidden}
.ms-gv.gv-show{opacity:1;pointer-events:auto}
.ms-gv-detailed{color:#c4302b;font-size:10px;font-weight:700;text-align:center;margin:6px 0 8px}
.ms-gv-stitle{color:#1447E6;font-size:8px;font-weight:600;text-decoration:underline;margin:5px 0 3px}
.ms-gv-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:3px 0 6px;font-size:7px}
.ms-gv-stat-grid div{text-align:left}
.ms-gv-stat-grid div b{color:#1447E6;display:block;font-size:7.5px;margin-bottom:1px;font-weight:700}
.ms-gv-stat-grid div span{color:#e8841b;font-weight:700;font-size:8px}
.ms-gv-tt{color:#1447E6;font-size:8.5px;font-weight:600;text-decoration:underline;margin-top:6px;display:inline-block}

/* Sub-strings & Indexed tables */
.ms-gv-tt-h{color:#1447E6;font-size:9px;font-weight:600;text-decoration:underline;margin:0 0 5px}
.ms-substr-table,.ms-idx-table{font-size:7px}
.ms-substr-thd,.ms-idx-thd{display:grid;padding:3px 0;border-bottom:1px solid #eee;color:#1447E6;font-weight:700;gap:3px}
.ms-substr-thd{grid-template-columns:0.9fr 0.7fr 0.5fr 0.7fr 0.7fr 0.4fr}
.ms-idx-thd{grid-template-columns:0.4fr 1fr 0.5fr 0.6fr 0.7fr 0.4fr}
.ms-substr-row,.ms-idx-row{display:grid;padding:3px 0;border-bottom:1px solid #f5f5f5;gap:3px;align-items:center;font-size:7px;color:#333}
.ms-substr-row{grid-template-columns:0.9fr 0.7fr 0.5fr 0.7fr 0.7fr 0.4fr}
.ms-idx-row{grid-template-columns:0.4fr 1fr 0.5fr 0.6fr 0.7fr 0.4fr}
.ms-substr-row .num,.ms-idx-row .num{color:#1447E6;font-weight:700}
.ms-substr-row .rep{color:#1d7a3a;font-weight:700}
.ms-substr-row .pct,.ms-idx-row .pct{color:#e8841b;font-weight:600}
.ms-substr-row .view,.ms-idx-row .view{color:#1a56c7;text-decoration:underline;cursor:default;transition:all .15s;padding:1px 3px;border-radius:3px;display:inline-block;width:fit-content}
.ms-substr-row .view.hl,.ms-idx-row .view.hl{background:#e8f0fe;color:#1447E6;font-weight:700;transform:scale(1.18)}

/* Right-side: donut + sub-score tiles / description tiles */
.ms-rep-side{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.ms-donut-wrap{background:#fff;border:1px solid #eee;border-radius:5px;padding:6px;display:flex;align-items:center;gap:6px;flex-shrink:0}
.ms-donut{width:46px;height:46px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#1447E6;position:relative;transition:transform .3s ease,box-shadow .3s ease}
.ms-donut::before{content:'';position:absolute;inset:5px;background:#fff;border-radius:50%}
.ms-donut span{position:relative;text-align:center;line-height:1.05}
.ms-donut span small{display:block;font-size:6px;color:#888;font-weight:600;margin-top:1px}
.ms-donut.g-d{background:conic-gradient(#1447E6 0 74%,#e0e7ff 74% 100%)}
.ms-donut.ai-d{background:conic-gradient(#1ABC9C 0 92%,#e0f5ef 92% 100%);color:#0d8b71}
.ms-donut.sim-d{background:conic-gradient(#c4302b 0 61%,#fde7e7 61% 100%);color:#c4302b}
.ms-donut.hl{transform:scale(1.1);box-shadow:0 0 0 3px rgba(20,71,230,.18)}
.ms-donut.ai-d.hl{box-shadow:0 0 0 3px rgba(26,188,156,.22)}

.ms-sub-scores{display:flex;flex-direction:column;gap:3px}
.ms-score-tile{background:#fff;border:1px solid #e3eaf3;border-radius:5px;padding:4px 6px;font-size:7.5px;color:#444;display:flex;justify-content:space-between;align-items:center;transition:all .25s;cursor:default}
.ms-score-tile b{color:#222;font-weight:600}
.ms-score-tile span{color:#222;font-weight:700}
.ms-score-tile.hl{background:#e8f0fe;border-color:#1447E6;transform:scale(1.04);box-shadow:0 0 0 2px rgba(20,71,230,.12)}
.ms-score-tile.hl b,.ms-score-tile.hl span{color:#1447E6}

.ms-desc-tile{background:#fff;border:1px solid #eee;border-radius:5px;padding:5px 6px;font-size:6.5px;color:#666;line-height:1.45}

/* 3-dot dropdown menu */
.ms-3dot-menu{position:absolute;top:24px;right:8px;background:#fff;border-radius:5px;padding:3px;box-shadow:0 6px 20px rgba(0,0,0,.18);font-size:8.5px;z-index:35;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .22s ease,transform .22s ease;min-width:108px;border:1px solid #eee}
.ms-3dot-menu.on{opacity:1;pointer-events:auto;transform:translateY(0)}
.ms-3dot-item{padding:5px 8px;color:#333;border-radius:3px;cursor:default;transition:background .15s;white-space:nowrap}
.ms-3dot-item.hl{background:#f0f4ff;color:#1447E6;font-weight:600}

/* === AI Report — view swap (new vs old) === */
.ms-av{position:absolute;left:0;right:0;top:55px;bottom:0;opacity:0;pointer-events:none;transition:opacity .35s ease;display:flex;flex-direction:column;overflow:hidden}
.ms-av.av-show{opacity:1;pointer-events:auto}

.ms-ai-doc{line-height:1.45;font-size:7.5px;color:#222}
.ms-ai-line{display:block;margin-bottom:3px;padding:1px 3px;border-radius:2px;transition:background .35s ease,color .35s ease}
.ms-ai-line.lit{background:#d3f3eb;color:#0a5a48}

/* AI old view */
.ms-old-toggle-row{display:flex;align-items:center;justify-content:flex-end;gap:5px;padding:3px 10px;background:#fff;border-bottom:1px solid #eee;font-size:7.5px;color:#444}
.ms-old-toggle-sw{width:18px;height:9px;border-radius:9px;background:#1447E6;position:relative;flex-shrink:0}
.ms-old-toggle-sw::before{content:'';position:absolute;top:1px;right:1px;width:7px;height:7px;border-radius:50%;background:#fff}
.ms-old-pills{display:flex;gap:4px;align-items:center;padding:4px 8px;border-bottom:1px solid #eee;background:#fff}
.ms-old-pill{font-size:7.5px;color:#1447E6;padding:2px 6px;border-radius:3px;background:#f0f4ff;cursor:default;font-weight:600}
.ms-old-doc{flex:1.4;background:#fff;border:1px solid #eee;border-radius:5px;padding:6px;font-size:7px;color:#222;line-height:1.5;overflow:hidden}
.ms-old-doc .ms-old-h{color:#c4302b;font-weight:700;font-size:8px;margin:2px 0 4px}
.ms-old-doc p{margin:0 0 3px;background:#fde7e7;padding:2px 3px;border-radius:2px}
.ms-old-side{flex:1;display:flex;flex-direction:column;gap:4px}
.ms-old-sim-wrap{background:#fff;border:1px solid #eee;border-radius:5px;padding:5px 6px;display:flex;align-items:center;gap:6px}
.ms-old-legend{display:flex;flex-direction:column;gap:2px;font-size:6.5px;color:#444}
.ms-old-legend div{display:flex;align-items:center;gap:3px}
.ms-old-legend i{width:5px;height:5px;border-radius:50%;display:inline-block}
.ms-old-srctab{background:#fff;border:1px solid #eee;border-radius:5px;padding:5px}
.ms-old-srctab-row{display:flex;border-bottom:1px solid #eee}
.ms-old-srctab-row > div{font-size:7px;font-weight:600;padding:3px 5px;color:#666;border-bottom:2px solid transparent}
.ms-old-srctab-row > div.act{color:#1447E6;border-bottom-color:#1447E6}
.ms-old-srctab-row > div:first-child.act{background:#1447E6;color:#fff;border-radius:3px;border-bottom:none}
