﻿:root{--ink:#10223f;--muted:#64748b;--line:#dbe5f2;--bg:#f4f8fb;--card:#fff;--blue:#1769e0;--cyan:#16b6d8;--nav:#071a33;--green:#12805c;--red:#b42318;--soft:#eaf7ff}
*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{margin:0;background:radial-gradient(circle at top left,#e5f7ff 0,#f4f8fb 34%,#f5f8fc 100%);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}.topbar{min-height:66px;display:flex;align-items:center;gap:16px;justify-content:space-between;padding:10px 18px;background:linear-gradient(90deg,#071a33,#0d3d70);border-bottom:1px solid #0f5787;position:sticky;top:0;z-index:5;box-shadow:0 8px 26px rgba(7,26,51,.18)}.brand{font-weight:900;color:#fff;text-decoration:none;font-size:22px}.brand:after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--cyan);margin-left:6px}.topbar div{display:flex;flex-direction:column;line-height:1.2;color:#fff}.topbar small{color:#b8d7ea}.panel small,.card-head small{color:var(--muted)}button{border:0;border-radius:12px;background:linear-gradient(135deg,var(--blue),#0d87c8);color:#fff;padding:10px 14px;font-weight:800;cursor:pointer}button.ghost{background:#edf8ff;color:#1557b0}button.success{background:linear-gradient(135deg,var(--green),#0a9b75)}button.danger{background:#fff1f0;color:var(--red);border:1px solid #ffd0cc}.layout{display:grid;grid-template-columns:300px minmax(0,1fr)360px;gap:16px;padding:16px}.tree-card,.status-card,.panel,.hero{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 28px rgba(16,34,63,.06)}.tree-card,.status-card{position:sticky;top:84px;align-self:start;max-height:calc(100vh - 100px);overflow:auto}.card-head,.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--line)}.card-head span,.panel h2{font-weight:900}.card-head.compact{background:#f8fcff}.tree{padding:12px;max-width:100%;overflow:auto}.tree details{margin:6px 0}.tree summary{font-weight:800;cursor:pointer;white-space:normal}.meeting-btn{width:100%;margin:5px 0;background:#fff;color:var(--ink);border:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;text-align:left}.meeting-btn.active{border-color:var(--cyan);background:var(--soft);box-shadow:inset 4px 0 0 var(--cyan)}.meeting-btn .edit{color:var(--blue);font-weight:900}.workspace{display:flex;flex-direction:column;gap:16px;min-width:0}.hero{padding:18px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:4px solid var(--cyan)}.hero h1{margin:.2rem 0;font-size:26px}.hero p{margin:0;color:var(--muted)}.pill{background:#ecfdf5;color:#08734f;border-radius:999px;padding:8px 12px;font-weight:900}.panel{overflow:hidden}.panel h2{margin:0;font-size:18px}.panel>input,.panel textarea,.field select,.field input{width:calc(100% - 32px);margin:16px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.field{display:block;margin:0 16px 12px}.field span{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}.link-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px;padding-top:12px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 16px 16px}.types{display:flex;flex-wrap:wrap;gap:10px;margin:16px}.types label{background:#f8fbff;border:1px solid var(--line);border-radius:999px;padding:8px 10px;font-weight:700}.list{margin:0 16px 16px}.empty{color:var(--muted);padding:14px;border:1px dashed var(--line);border-radius:14px}.row{border:1px solid var(--line);border-radius:14px;padding:12px;margin:10px 0;background:#fff}.row-head{display:flex;gap:8px;align-items:flex-start}.row small{display:block;color:var(--muted);margin-top:4px}.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.status{margin:0 16px 16px;color:var(--muted)}.status.bad{color:var(--red)}.tabs{display:flex;gap:8px;overflow:auto;padding:12px;border-bottom:1px solid var(--line)}.tab{background:#f2f6fc;color:var(--ink);white-space:nowrap}.tab.active{background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff}.status-card h2{padding:0 16px;margin:14px 0 0}.status-list{padding:6px 16px 16px}.preview-text{white-space:pre-wrap;line-height:1.55;background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:14px}.quiz{display:grid;gap:12px}.quiz-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.quiz-card ol{margin:.5rem 0 0 1.2rem}.preview-frame{width:80vw;max-width:980px;height:70vh;border:1px solid var(--line);border-radius:14px}dialog{border:0;border-radius:18px;max-width:min(1000px,94vw);padding:22px}.dialog-close{float:right;background:#edf2f7;color:var(--ink)}
@media(max-width:1100px){.layout{grid-template-columns:260px minmax(0,1fr)}.status-card{grid-column:1/-1;position:static;max-height:none}}@media(max-width:760px){.topbar{height:auto;align-items:flex-start;padding:12px}.layout{display:flex;flex-direction:column;padding:10px}.tree-card,.status-card{position:static;max-height:none}.tree{display:flex;overflow:auto;gap:8px}.tree details{min-width:240px}.hero{align-items:flex-start}.actions button{flex:1 1 100%}.preview-frame{width:88vw;height:62vh}.tabs{position:sticky;top:0;background:#fff;z-index:2}}

.top-menu{margin-left:auto;display:flex;gap:4px;align-items:center}.top-menu a{font-size:14px;font-weight:800;color:#d9eef9;text-decoration:none;padding:8px 10px;border-radius:10px}.top-menu a:hover,.top-menu a.active{background:#ffffff1f;color:#fff}.topbar #refresh-all{background:#11a8d0}@media(max-width:760px){.topbar{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.topbar>div{min-width:0}.topbar strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar small{font-size:11px}.top-menu{grid-column:1/-1;order:3;width:100%;overflow-x:auto;margin-left:0;padding-top:2px}.top-menu a{white-space:nowrap;background:#ffffff14}.topbar button{margin-left:0;padding:8px 10px}.link-source-grid{grid-template-columns:1fr}.field input{margin-top:4px}}
.quiz-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.quiz-meta span{background:#eaf7ff;border:1px solid #bee8f5;color:#0b5c7b;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px}.quiz-card{border-top:4px solid var(--cyan)}

/* OSIUN EXPERT THEME OVERRIDE - navy/cyan, aligned with learner/partner */
:root{
  --ink:#f4fbff;
  --muted:#b9d5e8;
  --line:rgba(125,211,252,.28);
  --bg:#061a33;
  --card:rgba(10,42,82,.94);
  --blue:#38bdf8;
  --cyan:#22d3ee;
  --nav:#031326;
  --green:#2dd4bf;
  --red:#fb7185;
  --soft:rgba(34,211,238,.14);
}
body{
  background:
    radial-gradient(circle at top left, rgba(34,211,238,.22), transparent 34rem),
    radial-gradient(circle at 80% 10%, rgba(56,189,248,.14), transparent 28rem),
    linear-gradient(135deg,#061a33,#082b55 54%,#041326) !important;
  color:var(--ink) !important;
}
.topbar{
  background:rgba(3,15,32,.9) !important;
  border-bottom:1px solid rgba(34,211,238,.32) !important;
  box-shadow:0 12px 34px rgba(0,0,0,.26) !important;
  backdrop-filter:blur(14px);
}
.tree-card,.status-card,.panel,.hero,.row,.quiz-card,dialog{
  background:linear-gradient(180deg,rgba(15,54,98,.96),rgba(8,36,70,.96)) !important;
  color:var(--ink) !important;
  border-color:var(--line) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.24) !important;
}
.card-head,.panel-head,.tabs{
  border-color:var(--line) !important;
  background:rgba(255,255,255,.035) !important;
}
.card-head.compact{background:rgba(34,211,238,.08) !important}
.hero{border-top-color:var(--cyan) !important}
.hero p,.panel small,.card-head small,.field span,.row small,.status,.empty{
  color:var(--muted) !important;
}
h1,h2,h3,h4,.card-head span,.panel h2,.tree summary{
  color:#f8fdff !important;
}
button{
  background:linear-gradient(135deg,var(--cyan),var(--blue)) !important;
  color:#031827 !important;
  border:0 !important;
  box-shadow:0 10px 22px rgba(34,211,238,.18);
}
button.ghost,.tab,.meeting-btn{
  background:rgba(255,255,255,.075) !important;
  color:var(--ink) !important;
  border:1px solid var(--line) !important;
  box-shadow:none;
}
button.ghost:hover,.tab:hover,.meeting-btn:hover{
  background:rgba(34,211,238,.13) !important;
}
button.success{
  background:linear-gradient(135deg,#2dd4bf,#22c55e) !important;
  color:#031827 !important;
}
button.danger{
  background:rgba(251,113,133,.12) !important;
  color:#fecdd3 !important;
  border:1px solid rgba(251,113,133,.36) !important;
}
.meeting-btn.active{
  background:rgba(34,211,238,.18) !important;
  border-color:rgba(34,211,238,.78) !important;
  box-shadow:inset 4px 0 0 var(--cyan) !important;
}
.meeting-btn .edit{color:#7dd3fc !important}
.pill,.quiz-meta span{
  background:rgba(34,211,238,.14) !important;
  border:1px solid rgba(34,211,238,.34) !important;
  color:#cffafe !important;
}
.panel>input,.panel textarea,.field select,.field input{
  background:rgba(3,15,32,.72) !important;
  color:var(--ink) !important;
  border-color:var(--line) !important;
}
.panel>input::placeholder,.panel textarea::placeholder,.field input::placeholder{
  color:rgba(185,213,232,.72) !important;
}
.types label,.empty,.preview-text{
  background:rgba(3,15,32,.52) !important;
  color:var(--ink) !important;
  border-color:var(--line) !important;
}
.row{background:rgba(8,36,70,.88) !important}
.tab.active{
  background:linear-gradient(135deg,var(--cyan),var(--blue)) !important;
  color:#031827 !important;
}
.top-menu a{color:#d9f7ff !important}
.top-menu a:hover,.top-menu a.active{
  background:rgba(34,211,238,.18) !important;
  color:#fff !important;
}
.preview-frame{
  background:#041326 !important;
  border-color:var(--line) !important;
}
@media(max-width:760px){
  .tabs{background:rgba(3,15,32,.92) !important}
  .tree details{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:8px}
}

/* Expert layout hardening: scoped sidebar, no mixed tenant overflow */
@media(min-width:1101px){
  .layout{
    grid-template-columns:minmax(260px,280px) minmax(0,1fr) minmax(300px,340px) !important;
    align-items:start !important;
    gap:18px !important;
  }
  .tree-card,.status-card{
    top:82px !important;
    max-height:calc(100vh - 98px) !important;
    overflow:hidden !important;
  }
  .tree-card .tree,.status-card .status-list{
    max-height:calc(100vh - 176px) !important;
    overflow:auto !important;
  }
  .workspace{min-width:0 !important}
}
.tree-card{
  min-width:0 !important;
}
.tree summary{
  line-height:1.35 !important;
  padding:4px 2px !important;
}
.tree details details{
  margin-left:8px !important;
  padding-left:8px !important;
  border-left:1px solid rgba(125,211,252,.18) !important;
}
.meeting-btn{
  min-width:0 !important;
  gap:8px !important;
}
.meeting-btn span:first-child{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.meeting-btn .edit{
  flex:0 0 auto !important;
}
@media(max-width:1100px) and (min-width:761px){
  .layout{
    grid-template-columns:280px minmax(0,1fr) !important;
  }
  .status-card{
    grid-column:1/-1 !important;
  }
}
@media(max-width:760px){
  .layout{gap:12px !important}
  .tree-card{order:1 !important}
  .workspace{order:2 !important}
  .status-card{order:3 !important}
  .tree{
    display:flex !important;
    gap:10px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding-bottom:10px !important;
  }
  .tree>details{
    min-width:260px !important;
    max-width:82vw !important;
    flex:0 0 auto !important;
  }
  .meeting-btn{
    white-space:normal !important;
  }
}

/* Codex final pass: one-screen expert workspace.
   Desktop/tablet should feel like a single LMS console: header + three columns
   filling the viewport, with scroll contained inside each working area. */
html,body{
  height:100% !important;
}
body{
  min-height:100vh !important;
}
.topbar{
  min-height:64px !important;
  padding:8px 14px !important;
}
.layout{
  width:100% !important;
  max-width:none !important;
}
.panel,.hero,.tree-card,.status-card{
  border-radius:16px !important;
}
.card-head,.panel-head{
  padding:12px 14px !important;
}
.panel h2{
  font-size:16px !important;
}
.hero{
  padding:14px 16px !important;
}
.hero h1{
  font-size:22px !important;
}
.panel>input,.panel textarea,.field select,.field input{
  margin:12px 14px !important;
  width:calc(100% - 28px) !important;
  padding:10px 12px !important;
}
.field{
  margin:0 14px 10px !important;
}
.actions,.types,.list{
  margin-left:14px !important;
  margin-right:14px !important;
}
.types{
  margin-top:12px !important;
  margin-bottom:12px !important;
}
.types label{
  padding:7px 9px !important;
}
.row{
  padding:10px !important;
  margin:8px 0 !important;
}
.tabs{
  padding:10px !important;
}
.tab{
  padding:8px 10px !important;
}

@media(min-width:1101px){
  body{
    overflow:hidden !important;
  }
  .layout{
    height:calc(100vh - 64px) !important;
    min-height:0 !important;
    overflow:hidden !important;
    padding:12px !important;
    grid-template-columns:minmax(250px,18vw) minmax(520px,1fr) minmax(300px,22vw) !important;
    gap:12px !important;
    align-items:stretch !important;
  }
  .tree-card,.status-card{
    position:static !important;
    height:100% !important;
    max-height:none !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
  }
  .tree-card .tree{
    flex:1 1 auto !important;
    max-height:none !important;
    overflow:auto !important;
    padding:10px !important;
  }
  .status-list{
    flex:1 1 auto !important;
    max-height:none !important;
    overflow:auto !important;
    padding:6px 14px 14px !important;
  }
  .status-card h2{
    margin:10px 0 0 !important;
    padding:0 14px !important;
    font-size:18px !important;
  }
  .workspace{
    height:100% !important;
    min-height:0 !important;
    overflow:auto !important;
    gap:12px !important;
    padding-right:2px !important;
  }
  .workspace::-webkit-scrollbar,
  .tree::-webkit-scrollbar,
  .status-list::-webkit-scrollbar{
    width:10px;
    height:10px;
  }
  .workspace::-webkit-scrollbar-thumb,
  .tree::-webkit-scrollbar-thumb,
  .status-list::-webkit-scrollbar-thumb{
    background:rgba(125,211,252,.34);
    border-radius:999px;
  }
  .link-source-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:1100px){
  body{
    overflow:auto !important;
  }
  .layout{
    min-height:calc(100vh - 64px) !important;
    padding:12px !important;
  }
}

@media(max-width:760px){
  .topbar{
    position:sticky !important;
    top:0 !important;
    min-height:auto !important;
  }
  .layout{
    padding:10px !important;
  }
  .hero{
    flex-direction:column !important;
  }
  .hero h1{
    font-size:20px !important;
  }
  .link-source-grid{
    grid-template-columns:1fr !important;
  }
  .tree-card,.status-card,.panel,.hero{
    border-radius:14px !important;
  }
  .tree-card,.status-card,.workspace,.panel,.hero,.active-generated-grid{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .tree-card{
    max-height:360px !important;
    overflow:hidden !important;
  }
  .tree-card .tree{
    max-height:292px !important;
    overflow:auto !important;
    display:block !important;
  }
  .tree details{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }
  .status-card{
    overflow:hidden !important;
  }
  .status-card .tabs{
    max-width:100% !important;
    overflow-x:auto !important;
  }
  .status-card .tab{
    flex:0 0 auto !important;
    max-width:170px !important;
  }
  .status-list{
    max-width:100% !important;
    overflow:auto !important;
  }
  .row,.row-head,.row-actions{
    min-width:0 !important;
    max-width:100% !important;
  }
  .row b,.row small{
    overflow-wrap:anywhere !important;
  }
}

/* Active source and generated output must be visually side-by-side. */
.active-generated-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:12px !important;
  align-items:stretch !important;
}
.active-generated-grid>.panel{
  min-width:0 !important;
  height:100% !important;
}
.active-generated-grid .list{
  max-height:340px !important;
  overflow:auto !important;
}
.upload-main-panel{
  border-top:4px solid var(--cyan) !important;
}
.upload-primary{
  margin:14px !important;
  padding:14px !important;
  border:1px solid rgba(34,211,238,.34) !important;
  border-radius:16px !important;
  background:rgba(34,211,238,.08) !important;
}
.upload-primary .field{
  margin:0 0 12px !important;
}
.upload-primary input[type=file]{
  width:100% !important;
  margin:0 !important;
  border:1px dashed rgba(125,211,252,.56) !important;
  background:rgba(3,15,32,.74) !important;
}
.upload-divider{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:4px 14px 0 !important;
  color:var(--muted) !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
}
.upload-divider:before,.upload-divider:after{
  content:"" !important;
  height:1px !important;
  flex:1 1 auto !important;
  background:var(--line) !important;
}
.status-card .tabs{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  overflow:visible !important;
}
.status-card .tab{
  width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  line-height:1.15 !important;
  text-align:center !important;
  padding:9px 8px !important;
}
.student-performance-panel .list{
  max-height:220px !important;
  overflow:auto !important;
}
.submit-placement-panel.is-hidden{
  display:none !important;
}
.submit-placement-panel{
  margin-top:12px !important;
  padding:12px 14px !important;
  border-top:1px solid var(--line) !important;
  background:rgba(34,211,238,.08) !important;
}
.submit-placement-panel select{
  margin:8px 0 0 !important;
  width:100% !important;
}
@media(max-width:900px){
  .active-generated-grid{
    grid-template-columns:1fr !important;
  }
  .active-generated-grid .list{
    max-height:none !important;
  }
}

/* OSIUN_EXPERT_PERFORMANCE_RESTORE_V1 */
.student-performance-panel{
  display:block !important;
  visibility:visible !important;
}

.student-performance-panel .list{
  display:block !important;
  visibility:visible !important;
  min-height:70px;
}

.student-performance-panel .row{
  display:block;
}

.student-performance-panel .performance-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}

.student-performance-panel .performance-summary span{
  background:#f8fbff;
  border:1px solid var(--line);
  border-radius:10px;
  padding:8px;
}

@media(max-width:760px){
  .student-performance-panel .performance-summary{
    grid-template-columns:1fr 1fr;
  }
}


/* OSIUN Expert Gradebook - Moodle Grader Report structure */
.expert-gradebook-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:0 16px 12px}.expert-gradebook-head h3{margin:.15rem 0 0;color:#f8fdff}.gradebook-actions{margin:0!important}.grade-table-wrap{width:calc(100% - 32px);margin:0 16px 16px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:rgba(3,15,32,.32)}.moodle-grade-table{width:100%;border-collapse:separate;border-spacing:0;min-width:860px;color:var(--ink)}.moodle-grade-table th,.moodle-grade-table td{padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.moodle-grade-table thead th{background:rgba(34,211,238,.14);color:#cffafe;font-weight:900}.moodle-grade-table tbody th{background:rgba(255,255,255,.045);font-weight:850;color:#f8fdff}.moodle-grade-table td{color:#eaf6ff}.moodle-grade-table button{margin:2px;padding:7px 9px}@media(max-width:760px){.expert-gradebook-head{display:block}.gradebook-actions{margin-top:10px!important}.moodle-grade-table{min-width:760px}}


/* OSIUN Moodle-exact Grade UI: preserve Moodle structure, change only OSIUN accents */
.osiun-moodle-theme{--moodle-accent:#159fb2;--moodle-blue:#2468a8;--moodle-line:#d9e2ea;--moodle-soft:#f6f8fa;--moodle-text:#1f2933;background:#fff!important;color:var(--moodle-text)!important;border:1px solid var(--moodle-line)!important;border-top:5px solid var(--moodle-accent)!important;border-radius:0!important;box-shadow:none!important;padding:0!important;overflow:hidden}.moodle-grade-tabs{display:flex;gap:28px;align-items:center;padding:18px 28px 0;border-bottom:1px solid var(--moodle-line);background:#fff;overflow:auto}.moodle-grade-tabs a{color:#245d8f;text-decoration:none;padding:0 0 14px;font-size:15px;white-space:nowrap}.moodle-grade-tabs a.active{color:#111827;border-bottom:4px solid #2e74c0;font-weight:700}.moodle-grade-toolbar{display:flex;gap:18px;align-items:center;padding:18px 24px;border-bottom:1px solid var(--moodle-line);background:#fff;flex-wrap:wrap}.moodle-grade-toolbar select,.moodle-grade-toolbar input,.moodle-search{height:44px;border:2px solid rgba(21,159,178,.75);border-radius:0;background:#fff!important;color:#111827!important;padding:8px 12px;font-weight:600}.moodle-grade-toolbar select:first-child{font-size:22px;font-weight:800;height:58px}.moodle-search{display:flex;align-items:center;gap:16px;min-width:330px}.moodle-search button{background:transparent!important;color:#555!important;box-shadow:none!important;padding:0;font-size:24px}.moodle-search a{color:#2468a8}.moodle-toolbar-spacer{flex:1}.moodle-user-title{display:flex;align-items:center;gap:16px;padding:28px 28px 34px;background:#fff}.moodle-user-title h3{font-size:28px;margin:0;color:#2468a8!important}.moodle-avatar{width:56px;height:56px;border-radius:50%;display:inline-grid;place-items:center;background:linear-gradient(135deg,#0b2748,#22d3ee);color:#fff;font-weight:900}.moodle-avatar.small{width:28px;height:28px;font-size:12px;margin-right:7px}.grade-table-wrap{background:#fff!important;border:1px solid var(--moodle-line)!important;border-radius:0!important;box-shadow:none!important}.moodle-grade-table{background:#fff!important;color:#1f2933!important;border-collapse:collapse!important;width:100%!important}.moodle-grade-table th,.moodle-grade-table td{background:#fff!important;color:#1f2933!important;border:1px solid var(--moodle-line)!important;padding:12px 14px!important;text-align:left!important;vertical-align:middle!important}.moodle-grade-table thead th{font-weight:800;background:#fff!important;color:#1f2933!important}.moodle-grade-table a{color:#16739a;text-decoration:none}.moodle-course-row td,.moodle-category-row td{background:#f5f5f5!important;font-size:17px}.moodle-total-row td,.moodle-total-row th{background:#fafafa!important;font-weight:700}.moodle-total-row small{font-weight:400;color:#444!important}.moodle-item-row td:first-child{padding-left:44px!important}.moodle-folder{color:#777;margin-right:8px}.moodle-aggregate{font-size:22px;color:#777;margin-right:8px}.moodle-item-icon{color:#159fb2;margin-right:8px}.moodle-grade-input{width:108px!important;height:44px!important;border:1px solid #bfc7d1!important;background:#fff!important;color:#111827!important;border-radius:6px!important;text-align:center!important}.dots{float:right;color:#77808a;letter-spacing:2px}.course-total-cell{font-weight:800}.overall-row th,.overall-row td{background:#f3f5f7!important;font-weight:700}.moodle-savebar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#fff;border-top:1px solid var(--moodle-line);box-shadow:0 -10px 22px rgba(31,41,51,.08)}.moodle-savebar button{background:linear-gradient(135deg,#159fb2,#2468a8)!important;color:#fff!important;border-radius:4px!important;padding:12px 20px!important}.moodle-savebar select{height:36px;background:#fff!important;color:#111827!important;border:1px solid #bfc7d1!important}.grade-ai-panel{display:none!important}.gradebook-setup-preview{margin:18px 16px;background:#fff;color:#111827;border:1px solid var(--moodle-line)}.gradebook-setup-preview summary{padding:12px 16px;font-weight:800;cursor:pointer}.moodle-setup-table{width:100%;border-collapse:collapse}.moodle-setup-table th,.moodle-setup-table td{padding:12px;border:1px solid var(--moodle-line);color:#111827;background:#fff}.moodle-setup-table input{width:70px;background:#fff!important;color:#111827!important;border:1px solid #bfc7d1!important;padding:8px}.expert-grader-shell .moodle-grade-toolbar select:first-child{min-width:210px}.exact-grader-wrap{max-height:72vh;overflow:auto}.grader-report-exact thead th{position:sticky;top:0;z-index:2}.grader-report-exact tbody th:first-child,.grader-report-exact thead th:first-child{position:sticky;left:0;z-index:3;background:#fff!important}.grader-report-exact tbody tr:nth-child(even) td,.grader-report-exact tbody tr:nth-child(even) th{background:#f7f1dc!important}@media(max-width:760px){.moodle-grade-toolbar{gap:10px;padding:12px}.moodle-grade-toolbar select:first-child{font-size:18px;height:48px}.moodle-search{min-width:100%;width:100%}.moodle-user-title{padding:18px 14px}.moodle-user-title h3{font-size:22px}.moodle-grade-table{min-width:760px!important}.moodle-savebar{position:static}.moodle-grade-tabs{padding-left:14px}}


/* OSIUN Moodle-exact background fix: keep Moodle layout, replace flat white with OSIUN nuance */
.osiun-moodle-theme{
  background:
    radial-gradient(circle at 8% 0%, rgba(34,211,238,.18), transparent 26rem),
    radial-gradient(circle at 92% 12%, rgba(45,212,191,.12), transparent 24rem),
    linear-gradient(135deg, rgba(4,18,39,.98), rgba(7,42,82,.96) 58%, rgba(3,14,31,.98)) !important;
  color:#f4fbff!important;
  border-color:rgba(125,211,252,.34)!important;
  box-shadow:0 22px 55px rgba(0,0,0,.24)!important;
}
.osiun-moodle-theme .moodle-grade-tabs,
.osiun-moodle-theme .moodle-grade-toolbar,
.osiun-moodle-theme .moodle-user-title,
.osiun-moodle-theme .moodle-savebar,
.osiun-moodle-theme .gradebook-setup-preview{
  background:rgba(3,15,32,.68)!important;
  color:#f4fbff!important;
  border-color:rgba(125,211,252,.28)!important;
}
.osiun-moodle-theme .moodle-grade-tabs a{color:#d9f7ff!important;}
.osiun-moodle-theme .moodle-grade-tabs a.active{color:#fff!important;border-bottom-color:#22d3ee!important;}
.osiun-moodle-theme .moodle-grade-toolbar select,
.osiun-moodle-theme .moodle-grade-toolbar input,
.osiun-moodle-theme .moodle-search,
.osiun-moodle-theme .moodle-grade-input,
.osiun-moodle-theme .moodle-setup-table input{
  background:rgba(4,19,38,.92)!important;
  color:#f4fbff!important;
  border-color:rgba(34,211,238,.55)!important;
}
.osiun-moodle-theme .moodle-grade-toolbar input::placeholder,
.osiun-moodle-theme .moodle-search::placeholder{color:rgba(226,251,255,.72)!important;}
.osiun-moodle-theme .grade-table-wrap{background:rgba(3,15,32,.46)!important;border-color:rgba(125,211,252,.24)!important;}
.osiun-moodle-theme .moodle-grade-table,
.osiun-moodle-theme .grader-report-exact,
.osiun-moodle-theme .moodle-setup-table{background:transparent!important;color:#f4fbff!important;}
.osiun-moodle-theme .moodle-grade-table th,
.osiun-moodle-theme .moodle-grade-table td,
.osiun-moodle-theme .grader-report-exact th,
.osiun-moodle-theme .grader-report-exact td,
.osiun-moodle-theme .moodle-setup-table th,
.osiun-moodle-theme .moodle-setup-table td{
  background:rgba(8,36,70,.78)!important;
  color:#f4fbff!important;
  border-color:rgba(125,211,252,.20)!important;
}
.osiun-moodle-theme .moodle-grade-table thead th,
.osiun-moodle-theme .grader-report-exact thead th,
.osiun-moodle-theme .moodle-setup-table thead th{
  background:rgba(2,12,27,.94)!important;
  color:#cffafe!important;
}
.osiun-moodle-theme .moodle-course-row td,
.osiun-moodle-theme .moodle-category-row td,
.osiun-moodle-theme .moodle-setup-course td{
  background:rgba(34,211,238,.14)!important;
  color:#f8fdff!important;
}
.osiun-moodle-theme .moodle-total-row td,
.osiun-moodle-theme .moodle-total-row th,
.osiun-moodle-theme .overall-row th,
.osiun-moodle-theme .overall-row td,
.osiun-moodle-theme .moodle-setup-total td{
  background:rgba(45,212,191,.14)!important;
  color:#e6fffb!important;
}
.osiun-moodle-theme .grader-report-exact tbody tr:nth-child(even) td{background:rgba(34,211,238,.08)!important;}
.osiun-moodle-theme a{color:#67e8f9!important;}
.osiun-moodle-theme .moodle-item-icon,
.osiun-moodle-theme .moodle-aggregate{color:#99f6e4!important;font-weight:800;}
.osiun-moodle-theme .muted,
.osiun-moodle-theme small{color:rgba(226,251,255,.74)!important;}


/* OSIUN Expert compact equal Active/Output panels */
.active-generated-grid{
  align-items:stretch !important;
  grid-auto-rows:1fr !important;
}
.active-generated-grid>.panel{
  display:flex !important;
  flex-direction:column !important;
  min-height:430px !important;
  max-height:430px !important;
}
.active-generated-grid .panel-head{
  min-height:70px !important;
  padding:12px 14px !important;
  align-items:flex-start !important;
}
.active-generated-grid .panel-head h2{
  font-size:16px !important;
  line-height:1.15 !important;
}
.active-generated-grid .panel-head small{
  font-size:11px !important;
  line-height:1.25 !important;
}
#active-files,#active-output{
  flex:1 1 auto !important;
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  overflow:auto !important;
  margin:10px 12px 12px !important;
  padding-right:4px !important;
}
#active-files .row,#active-output .row{
  padding:8px 9px !important;
  margin:7px 0 !important;
  border-radius:11px !important;
  font-size:12px !important;
  line-height:1.25 !important;
}
#active-files .row-head,#active-output .row-head{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  gap:6px !important;
  align-items:start !important;
}
#active-files .row-head label,#active-output .row-head label{
  font-size:10px !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  padding-top:1px !important;
}
#active-files .row-head b,#active-output .row-head b{
  min-width:0 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  word-break:break-word !important;
  font-size:12.2px !important;
  line-height:1.24 !important;
  font-weight:800 !important;
}
#active-files .row small,#active-output .row small{
  font-size:10.5px !important;
  line-height:1.25 !important;
  margin-top:4px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#active-files .row-actions,#active-output .row-actions{
  gap:5px !important;
  margin-top:7px !important;
}
#active-files .row-actions button,#active-output .row-actions button{
  padding:6px 8px !important;
  border-radius:8px !important;
  font-size:10.5px !important;
  line-height:1.1 !important;
}
@media(max-width:760px){
  .active-generated-grid>.panel{
    min-height:320px !important;
    max-height:360px !important;
  }
  .active-generated-grid .panel-head{min-height:auto !important;}
  #active-files,#active-output{margin:8px 10px 10px !important;}
}
