/* AI teacher feedback hub v2 — initial room layout only.
   Sidebar styles are intentionally untouched. */
.ai-teacher-page-body .portal-main{
  background:#fbfcff;
}
.ai-feedback-hub-v2.ai-teacher-room-page{
  width:100%;
  max-width:1540px;
  margin:0 auto;
  padding:24px 24px 42px;
  gap:18px;
  box-sizing:border-box;
}
.ai-feedback-hub-v2 *{box-sizing:border-box;}

/* page header */
.ai-feedback-hub-v2 .ai-hub-page-header{
  min-height:46px;
  align-items:center;
  margin-bottom:0;
}
.ai-feedback-hub-v2 .ai-room-title-block h1{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  font-size:1.92rem;
  line-height:1.1;
  font-weight:900;
  letter-spacing:-0.02em;
  color:#101828;
}
.ai-hub-title-icon{
  width:30px;height:30px;border-radius:9px;
  display:grid;place-items:center;
  color:#5c43ef;background:#eef0ff;
  font-size:1rem;font-weight:900;
}
.ai-feedback-hub-v2 .ai-room-header-actions{gap:10px;}
.ai-feedback-hub-v2 .ai-header-guide-btn,
.ai-feedback-hub-v2 .ai-header-cta{
  min-height:42px;
  border-radius:10px;
  padding:0 18px;
  font-size:.92rem;
  font-weight:800;
}
.ai-feedback-hub-v2 .ai-header-guide-btn{
  background:#fff;border:1px solid #e3e7ef;color:#344054;
  box-shadow:none;
}
.ai-feedback-hub-v2 .ai-header-cta{
  background:linear-gradient(135deg,#6c50f5 0%,#4f35df 100%);
  border-color:transparent;
  box-shadow:0 8px 18px rgba(83,55,226,.20);
}

/* hero */
.ai-hub-hero{
  min-height:150px;
  padding:22px 20px 22px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  border:1px solid #ddd8ff;
  border-radius:16px;
  background:
    radial-gradient(circle at 43% 25%,rgba(119,95,255,.08),transparent 31%),
    linear-gradient(115deg,#fbfaff 0%,#f9f7ff 52%,#f5f3ff 100%);
  box-shadow:0 4px 15px rgba(61,42,140,.035);
}
.ai-hub-hero-main{display:flex;align-items:center;gap:20px;min-width:0;}
.ai-hub-avatar{
  width:118px;height:104px;flex:0 0 118px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.ai-hub-avatar img{width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(69,51,150,.08));}
.ai-hub-hero-copy{min-width:0;}
.ai-hub-hero-copy>span{display:block;color:#667085;font-size:.92rem;margin-bottom:5px;}
.ai-hub-hero-copy>strong{
  display:block;color:#101828;font-size:1.36rem;line-height:1.45;font-weight:900;letter-spacing:-0.02em;
}
.ai-hub-hero-copy>p{
  margin:2px 0 0;color:#101828;font-size:1.34rem;line-height:1.45;font-weight:900;letter-spacing:-0.02em;
}
.ai-hub-hero-copy>p b{color:#5a3cf1;}
.ai-hub-focus-card{
  width:310px;min-height:100px;flex:0 0 310px;
  padding:17px 20px;
  display:flex;align-items:center;gap:16px;
  border:1px solid #ded8ff;border-radius:14px;
  background:rgba(255,255,255,.72);
}
.ai-hub-focus-icon{
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;flex:0 0 56px;
  background:#fff0ef;border:6px solid #ff7468;color:#5a3cf1;font-size:1.35rem;font-weight:900;
  box-shadow:inset 0 0 0 4px #fff;
}
.ai-hub-focus-card small{display:block;color:#475467;font-size:.78rem;font-weight:800;margin-bottom:2px;}
.ai-hub-focus-card strong{display:block;color:#101828;font-size:1.18rem;font-weight:900;line-height:1.25;}
.ai-hub-inline-link{
  margin:7px 0 0;padding:0;border:0;background:none;color:#5b45ec;font-size:.78rem;font-weight:800;cursor:pointer;
}

/* shared cards */
.ai-feedback-hub-v2 .ai-reference-card{
  margin:0;
  background:#fff;
  border:1px solid #e5e8f0;
  border-radius:15px;
  box-shadow:0 4px 16px rgba(15,23,42,.035);
}
.ai-feedback-hub-v2 h2{letter-spacing:-0.02em;}
.ai-hub-primary-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-items:start;
}
.ai-hub-summary-column{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0;align-items:start;}
.ai-hub-secondary-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(470px,.95fr);
  gap:14px;
  align-items:stretch;
}

/* file feedback */
.ai-feedback-hub-v2 .ai-hub-file-card{padding:18px 20px 14px;min-width:0;}
.ai-hub-section-head{margin-bottom:13px;}
.ai-hub-section-head h2,
.ai-hub-card-title h2,
.ai-hub-current-card>h2,
.ai-hub-archive-head h2{
  margin:0;color:#101828;font-size:1.16rem;line-height:1.3;font-weight:700;
}
.ai-hub-section-head p,
.ai-hub-card-title p{margin:4px 0 0;color:#667085;font-size:.82rem;line-height:1.45;}
.ai-hub-file-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;}
.ai-hub-file-status-tabs{display:flex;align-items:center;gap:7px;min-width:0;}
.ai-feedback-hub-v2 .ai-room-filter-chip{
  min-height:34px;padding:0 12px;border-radius:8px;
  border:1px solid #e2e6ee;background:#fff;color:#667085;
  font-size:.78rem;font-weight:800;box-shadow:none;
}
.ai-feedback-hub-v2 .ai-room-filter-chip.active{
  background:#f3f0ff;color:#563eea;border-color:#c9beff;box-shadow:none;
}
.ai-feedback-hub-v2 .ai-room-filter-chip span{margin-left:3px;}
.ai-hub-range-select{border:0;padding:0;background:none;}
.ai-hub-range-select select{
  height:34px;min-width:112px;padding:0 28px 0 12px;
  border:1px solid #e2e6ee;border-radius:8px;background:#fff;color:#475467;
  font-family:inherit;font-size:.78rem;font-weight:700;outline:none;
}
.ai-feedback-hub-v2 .ai-room-file-table-head,
.ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
  display:grid;
  grid-template-columns:64px minmax(190px,2fr) minmax(105px,.95fr) minmax(125px,1.05fr) minmax(120px,.95fr);
  gap:10px;
  align-items:center;
}
.ai-feedback-hub-v2 .ai-room-file-table-head{
  padding:9px 8px 8px;
  border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5;
  color:#98a2b3;font-size:.7rem;font-weight:800;
}
.ai-feedback-hub-v2 .ai-room-file-list{display:block;}
.ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
  min-height:56px;margin:0;padding:9px 8px;
  border:0;border-bottom:1px solid #edf0f5;border-radius:0;background:#fff;
}
.ai-feedback-hub-v2 .ai-room-file-list .portal-record-item:last-child{border-bottom:0;}
.ai-feedback-hub-v2 .ai-file-date{color:#667085;font-size:.76rem;font-weight:700;white-space:nowrap;}
.ai-feedback-hub-v2 .ai-room-file-main .portal-record-title{
  margin:0;color:#202939;font-size:.84rem;font-weight:900;line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.ai-file-type-line{display:flex;align-items:center;gap:4px;min-width:0;}
.ai-feedback-hub-v2 .ai-file-type-chip{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:24px;padding:0 7px;border-radius:999px;background:#f2efff;color:#644be9;font-size:.68rem;font-weight:800;white-space:nowrap;
}
.ai-feedback-hub-v2 .ai-file-type-chip.editorial{background:#fff4e7;color:#b86513;}
.ai-file-grade{color:#667085;font-size:.7rem;font-weight:700;white-space:nowrap;}
.ai-file-score-wrap{display:flex;align-items:center;gap:7px;min-width:0;}
.ai-file-score-value{font-size:.82rem;font-weight:900;color:#202939;min-width:40px;}
.ai-file-score-track{height:5px;flex:1;min-width:32px;border-radius:999px;background:#eef1f5;overflow:hidden;}
.ai-file-score-fill{height:100%;border-radius:inherit;background:#32b77a;}
.ai-file-score-fill.warn{background:#ff8b43;}.ai-file-score-fill.bad{background:#ef5b62;}
.ai-file-status-action{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;}
.ai-feedback-hub-v2 .ai-feedback-create-btn,
.ai-feedback-hub-v2 .ai-feedback-view-btn{
  min-height:32px!important;height:32px!important;padding:0 10px!important;border-radius:7px!important;font-size:.71rem!important;font-weight:900!important;white-space:nowrap;
}
.ai-feedback-hub-v2 .ai-feedback-create-btn{background:#6247ed!important;border-color:#6247ed!important;}
.ai-feedback-hub-v2 .ai-feedback-view-btn{background:#fff!important;border:1px solid #cfc8ff!important;color:#5a43e5!important;}
.ai-file-complete-label{display:block;color:#32a56b;font-size:0.667rem;font-weight:800;white-space:nowrap;}
.ai-feedback-hub-v2 .ai-room-pagination-wrap{padding-top:8px;}
.ai-feedback-hub-v2 .ai-room-pagination{gap:4px;}
.ai-feedback-hub-v2 .ai-room-page-btn{min-width:29px;height:29px;border-radius:7px;font-size:.7rem;}
.ai-feedback-hub-v2 .ai-room-page-status{font-size:.68rem;margin-left:5px;}
.ai-hub-card-foot{display:flex;justify-content:center;padding-top:6px;}
.ai-hub-more-link{border:0;background:none;color:#5a43e5;font-size:.74rem;font-weight:900;cursor:pointer;padding:4px 6px;}
.ai-hub-file-card>.ai-hub-card-foot{display:none;}

/* daily summary */
.ai-hub-daily-card,.ai-hub-growth-card{padding:18px 20px;}
.ai-hub-card-title{margin-bottom:13px;}
.ai-hub-card-title h2{display:flex;align-items:center;gap:8px;}
.ai-hub-card-title-icon{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:.86rem;}
.ai-hub-card-title-icon.daily{color:#f0a21b;background:#fff7e5;}
.ai-hub-card-title-icon.growth{color:#5b5f74;background:#f0f2f6;}
.ai-hub-daily-stat-grid{display:grid;grid-template-columns:.9fr 1.05fr 1.1fr;gap:8px;margin-bottom:12px;}
.ai-hub-daily-stat{
  min-height:91px;padding:12px 13px;border:1px solid #e8ebf2;border-radius:10px;background:#fff;
}
.ai-hub-daily-stat>span{display:block;color:#475467;font-size:.7rem;font-weight:800;margin-bottom:8px;}
.ai-hub-daily-stat>strong{display:block;color:#101828;font-size:1.5rem;line-height:1.05;font-weight:900;letter-spacing:-0.02em;}
.ai-hub-daily-stat.task>strong{font-size:1rem;line-height:1.25;margin-top:13px;}
.ai-hub-daily-stat>small{display:block;margin-top:5px;color:#98a2b3;font-size:0.667rem;line-height:1.35;}
.ai-hub-pass-chip{display:inline-flex;margin-top:7px;padding:3px 6px;border-radius:5px;background:#f0edff;color:#644be9;font-size:0.667rem;font-weight:900;}
.ai-hub-error-pairs{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin-top:1px;}
.ai-hub-error-pairs span{font-size:.68rem;color:#667085;white-space:nowrap;}
.ai-hub-error-pairs b{color:#202939;font-size:.83rem;margin-left:3px;}
.ai-hub-full-button{width:100%;min-height:36px!important;height:36px;border-radius:7px!important;font-size:.76rem!important;font-weight:900!important;justify-content:center;}
.ai-hub-daily-card .ai-hub-full-button{background:linear-gradient(90deg,#6548ef,#5539df)!important;border:0!important;}
.ai-hub-growth-card .ai-hub-full-button{border:1px solid #b8acff!important;color:#5a43e5!important;background:#fff!important;}

/* 14 day summary */
.ai-hub-growth-grid{display:grid;grid-template-columns:.7fr 1.7fr 1.3fr;gap:8px;margin-bottom:10px;align-items:stretch;}
.ai-hub-growth-score,.ai-hub-growth-chart,.ai-hub-growth-comment{
  min-height:128px;padding:12px;border:1px solid #e8ebf2;border-radius:10px;background:#fff;min-width:0;
}
.ai-hub-growth-score>span,.ai-hub-growth-comment>span,.ai-hub-mini-label{display:block;color:#475467;font-size:.68rem;font-weight:800;}
.ai-hub-growth-score>strong{display:block;margin-top:12px;color:#6548ef;font-size:1.65rem;line-height:1;font-weight:900;}
.ai-hub-growth-score .ai-summary-delta{margin-top:7px;font-size:.75rem;font-weight:900;}
.ai-hub-growth-score small{display:block;margin-top:4px;color:#98a2b3;font-size:0.667rem;line-height:1.35;}
.ai-hub-growth-comment p{margin:13px 0 0;color:#475467;font-size:.72rem;line-height:1.55;font-weight:600;}
.ai-hub-growth-chart .ai-summary-trend{margin-top:4px;}
.ai-hub-growth-chart .ai-trend-top{display:none!important;}
.ai-hub-growth-chart .ai-trend-svg{width:100%;height:75px!important;margin-top:3px;}
.ai-hub-growth-chart .ai-trend-svg line{stroke:#eef0f4;}
.ai-hub-growth-chart .ai-trend-svg polyline{stroke:#674eef;stroke-width:2.2;}
.ai-hub-growth-chart .ai-trend-svg circle{r:3;stroke-width:2;}
.ai-hub-growth-chart .ai-trend-foot{font-size:0.667rem;color:#98a2b3;margin-top:0;}
.ai-hub-growth-chart .portal-empty.compact{min-height:74px;padding:12px;font-size:0.667rem;}
.ai-hub-growth-chart .portal-empty.compact b{font-size:.7rem;}

/* current status */
.ai-hub-current-card{padding:17px 20px 15px;}
.ai-hub-current-card>h2{margin-bottom:13px;}
.ai-hub-current-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:0 -1px 12px;}
.ai-hub-current-stats>div{
  position:relative;min-height:82px;padding:7px 14px 6px 56px;border-right:1px solid #edf0f5;
}
.ai-hub-current-stats>div:last-child{border-right:0;}
.ai-current-icon{
  position:absolute;left:11px;top:12px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:.9rem;font-weight:900;
}
.ai-current-icon.accuracy{background:#f0edff;color:#6548ef;}.ai-current-icon.error{background:#fff6e9;color:#f59e0b;}
.ai-current-icon.trend{background:#eaf9f1;color:#24a46d;}.ai-current-icon.records{background:#edf6ff;color:#3c8eea;}
.ai-hub-current-stats b{display:block;color:#202939;font-size:1.14rem;font-weight:900;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ai-hub-current-stats small{display:block;margin-top:4px;color:#475467;font-size:.7rem;font-weight:800;}
.ai-hub-current-stats em{display:block;margin-top:4px;color:#98a2b3;font-size:0.667rem;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ai-hub-judgement{display:flex;align-items:center;gap:12px;min-height:38px;padding:8px 11px;border:1px solid #e8e6f8;border-radius:8px;background:#fbfaff;}
.ai-hub-judgement>span{flex:0 0 auto;padding:4px 9px;border-radius:999px;background:#eeeaff;color:#6047e9;font-size:.67rem;font-weight:900;}
.ai-hub-judgement p{margin:0;color:#475467;font-size:.72rem;line-height:1.4;font-weight:600;}

/* archive */
.ai-hub-archive-card{padding:16px 18px 12px;min-width:0;}
.ai-hub-archive-head{margin-bottom:7px;align-items:center;}
.ai-hub-archive-head .ai-feedback-archive-title-row{gap:8px;}
.ai-hub-archive-head .portal-chip{font-size:0.667rem;padding:3px 6px;}
.ai-feedback-hub-v2 .ai-feedback-table-head,
.ai-feedback-hub-v2 .ai-feedback-history-row>summary{
  display:grid;
  grid-template-columns:48px 90px minmax(0,1.1fr) minmax(0,1fr) 52px;
  gap:10px;
  align-items:center;
}
.ai-feedback-hub-v2 .ai-feedback-table-head{
  padding:9px 7px;border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5;color:#98a2b3;font-size:.8rem;font-weight:800;
}
.ai-feedback-hub-v2 .ai-feedback-history-row{border:0;border-bottom:1px solid #edf0f5;border-radius:0;background:#fff;}
.ai-feedback-hub-v2 .ai-feedback-history-row>summary{min-height:46px;padding:7px;color:#475467;}
.ai-feedback-hub-v2 .ai-history-date{font-size:.8rem;}
.ai-feedback-hub-v2 .ai-history-type{justify-self:start;min-width:unset;padding:5px 8px;border-radius:6px;font-size:.78rem;background:#f1edff;color:#634ce7;font-weight:900;}
.ai-feedback-hub-v2 .ai-history-type.week{background:#eaf5ff;color:#2781d7;}.ai-feedback-hub-v2 .ai-history-type.file{background:#f2efff;color:#644be9;}
.ai-feedback-hub-v2 .ai-history-title{font-size:.82rem;font-weight:800;color:#344054;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ai-feedback-hub-v2 .ai-history-view{justify-self:end;display:inline-flex;align-items:center;justify-content:center;width:50px;height:30px;border:1px solid #d9d3ff;border-radius:6px;color:#5c45e6;font-size:.8rem;font-weight:900;background:#fff;}
.ai-feedback-hub-v2 .ai-history-detail{padding:12px;background:#fbfbff;border-top:1px solid #edf0f5;}
.ai-feedback-hub-v2 .ai-feedback-more{display:none;}

/* JS-generated legacy rows that are now visually hidden / neutral */
.ai-feedback-hub-v2 [hidden]{display:none!important;}

/* dialogs remain usable */
.ai-feedback-hub-v2 .ai-guide-dialog{max-width:560px;}

@media (max-width:1320px){
  .ai-feedback-hub-v2.ai-teacher-room-page{padding-left:18px;padding-right:18px;}
  .ai-hub-secondary-grid{grid-template-columns:minmax(0,1fr) minmax(430px,1fr);}
  .ai-feedback-hub-v2 .ai-room-file-table-head,
  .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
    grid-template-columns:48px minmax(120px,1.2fr) 76px minmax(82px,.72fr) minmax(132px,1.05fr) 98px;
    gap:7px;
  }
}
@media (max-width:1100px){
  .ai-hub-primary-grid,.ai-hub-secondary-grid{grid-template-columns:1fr;}
  .ai-hub-hero{align-items:flex-start;}
  .ai-hub-focus-card{width:280px;flex-basis:280px;}
}
@media (max-width:760px){
  .ai-feedback-hub-v2.ai-teacher-room-page{padding:18px 12px 34px;gap:12px;}
  .ai-feedback-hub-v2 .ai-hub-page-header{align-items:flex-start;}
  .ai-feedback-hub-v2 .ai-room-title-block h1{font-size:1.45rem;}
  .ai-feedback-hub-v2 .ai-room-header-actions{width:100%;justify-content:flex-end;}
  .ai-hub-hero{padding:16px;display:grid;}
  .ai-hub-avatar{width:80px;height:80px;flex-basis:80px}.ai-hub-avatar img{width:82px;height:82px;}
  .ai-hub-hero-copy>strong,.ai-hub-hero-copy>p{font-size:1.02rem;}
  .ai-hub-focus-card{width:100%;min-height:76px;}
  .ai-hub-file-toolbar{align-items:flex-start;flex-direction:column;}
  .ai-hub-file-status-tabs{width:100%;overflow:auto;}
  .ai-feedback-hub-v2 .ai-room-file-table-head{display:none;}
  .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
    grid-template-columns:55px minmax(0,1fr) 105px;
    grid-template-areas:"date title action" "type score action" "errors errors action";
    gap:5px 8px;padding:11px 6px;
  }
  .ai-file-date{grid-area:date}.ai-room-file-main{grid-area:title}.ai-file-type{grid-area:type}.ai-room-file-score{grid-area:score}.ai-file-error-summary{grid-area:errors}.ai-file-status-action{grid-area:action;align-self:stretch;flex-direction:column;justify-content:center;}
  .ai-hub-daily-stat-grid{grid-template-columns:1fr;}
  .ai-hub-growth-grid{grid-template-columns:1fr;}
  .ai-hub-current-stats{grid-template-columns:1fr 1fr;}
  .ai-hub-current-stats>div:nth-child(2){border-right:0;}.ai-hub-current-stats>div{border-bottom:1px solid #edf0f5;}
  .ai-feedback-hub-v2 .ai-feedback-table-head{display:none;}
  .ai-feedback-hub-v2 .ai-feedback-history-row>summary{grid-template-columns:46px 86px minmax(0,1fr) 48px;}
}

/* v2.1 compact file-table fit inside the existing sidebar layout */
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-range-select{
  position:relative!important;
  display:block!important;
  width:116px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  border:0!important;
  overflow:visible!important;
  background:none!important;
}
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-range-select select{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:116px!important;
  height:34px!important;
  opacity:1!important;
  padding:0 8px!important;
  border:1px solid #e2e6ee!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#475467!important;
  font-family:inherit!important;
  font-size:.72rem!important;
  font-weight:800!important;
  cursor:pointer!important;
}
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
  grid-template-columns:42px minmax(100px,1.25fr) 68px 80px 104px 90px!important;
  gap:5px!important;
}
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head{font-size:0.667rem!important;}
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main .portal-record-title{font-size:.76rem!important;}
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-date{font-size:.68rem!important;}
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type-chip{font-size:0.667rem!important;padding:0 5px!important;}
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-grade{font-size:0.667rem!important;}
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-value{font-size:.72rem!important;min-width:35px!important;}
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-error-summary{font-size:0.667rem!important;}
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-create-btn,
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-view-btn{
  min-width:82px!important;padding:0 6px!important;font-size:0.667rem!important;
}
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-complete-label{font-size:0.667rem!important;margin-bottom:2px;}
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main{padding-left:0!important;}
body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main::before{display:none!important;content:none!important;}
@media (max-width:760px){
  body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
    grid-template-columns:50px minmax(0,1fr) 92px!important;
    grid-template-areas:"date title action" "type score action" "errors errors action"!important;
    gap:5px 7px!important;
  }
}

/* ========================================================================
   AI teacher hub v4 — reference-layout lock
   목적: 시안의 2열 구조를 그대로 유지하면서 이전 ai-teacher-redesign.css의
   '20% 확대' !important 규칙만 이 페이지에서 안전하게 덮어쓴다.
   ======================================================================== */

/* page frame */
html body.ai-teacher-page-body .ai-feedback-hub-v2.ai-teacher-room-page{
  width:100%!important;
  max-width:1540px!important;
  margin:0 auto!important;
  padding:18px 0 34px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  min-width:0!important;
  overflow:visible!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2.ai-teacher-room-page *{box-sizing:border-box;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-reference-card{min-width:0!important;overflow:hidden!important;}

/* header */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-page-header{
  min-height:44px!important;height:auto!important;margin:0!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-title-block h1{
  margin:0!important;font-size:28px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-0.02em!important;white-space:nowrap!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-title-icon{width:26px!important;height:26px!important;font-size:15px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-header-guide-btn,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-header-cta{
  height:38px!important;min-height:38px!important;padding:0 14px!important;border-radius:9px!important;font-size:15px!important;line-height:1!important;white-space:nowrap!important;
}

/* hero */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-hero{
  min-height:138px!important;padding:17px 20px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;
  border-radius:14px!important;overflow:hidden!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-hero-main{display:flex!important;align-items:center!important;gap:16px!important;min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-avatar{width:92px!important;height:92px!important;flex:0 0 92px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-avatar img{width:90px!important;height:90px!important;object-fit:contain!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-hero-copy{min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-hero-copy>span{font-size:15px!important;line-height:1.3!important;margin-bottom:4px!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-hero-copy>strong,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-hero-copy>p{
  font-size:22px!important;line-height:1.45!important;font-weight:700!important;letter-spacing:.01em!important;word-break:keep-all!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-hero-copy>span{
  letter-spacing:.01em!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-focus-card{width:270px!important;min-height:84px!important;flex:0 0 270px!important;padding:13px 15px!important;gap:12px!important;border-radius:11px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-focus-icon{width:44px!important;height:44px!important;flex:0 0 44px!important;border-width:4px!important;font-size:16px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-focus-card small{font-size:14px!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-focus-card strong{font-size:18px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-inline-link{font-size:14px!important;white-space:nowrap!important;}

/* MAIN: reference image = file card left / daily+14day stacked right */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-primary-grid{
  width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:14px!important;align-items:start!important;min-width:0!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-summary-column{
  display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important;
  gap:14px!important;min-width:0!important;align-items:start!important;
}

/* file card */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-file-card{padding:18px 18px 13px!important;min-width:0!important;height:auto!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-section-head{margin-bottom:12px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-section-head h2,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-card-title h2,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-card>h2,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-archive-head h2{
  font-size:22px!important;line-height:1.25!important;font-weight:700!important;white-space:nowrap!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-section-head p,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-card-title p{
  margin-top:4px!important;font-size:15px!important;line-height:1.35!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-file-toolbar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin-bottom:11px!important;min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-file-status-tabs{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-filter-chip{
  height:34px!important;min-height:34px!important;padding:0 10px!important;border-radius:8px!important;font-size:14px!important;line-height:1!important;font-weight:800!important;white-space:nowrap!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-range-select{width:112px!important;height:34px!important;min-height:34px!important;padding:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-range-select select{width:112px!important;height:34px!important;font-size:14px!important;line-height:1!important;}

html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
  width:100%!important;max-width:100%!important;min-width:0!important;display:grid!important;
  grid-template-columns:56px minmax(150px,2fr) minmax(82px,.9fr) minmax(105px,1fr) minmax(104px,.95fr)!important;
  gap:10px!important;align-items:center!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head{
  height:31px!important;min-height:31px!important;padding:0 6px!important;font-size:13px!important;line-height:1!important;white-space:nowrap!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list{display:block!important;min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
  min-height:54px!important;margin:0!important;padding:7px 8px!important;border:0!important;border-bottom:1px solid #edf0f5!important;border-radius:0!important;box-shadow:none!important;transform:none!important;overflow:hidden!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item>*{min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main{min-width:0!important;padding-left:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main::before,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main::after{display:none!important;content:none!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main .portal-record-title{
  margin:0!important;font-size:14px!important;line-height:1.25!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-date{font-size:13px!important;line-height:1!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type-line{display:flex!important;align-items:center!important;gap:3px!important;min-width:0!important;overflow:hidden!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type-chip{min-height:21px!important;height:21px!important;padding:0 5px!important;font-size:13px!important;line-height:1!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-grade{font-size:13px!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-wrap{display:flex!important;align-items:center!important;gap:5px!important;min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-value{min-width:40px!important;font-size:14px!important;line-height:1!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-track{min-width:38px!important;height:4px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-status-action{min-width:0!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-complete-label{font-size:13px!important;line-height:1.1!important;margin-bottom:2px!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.primary,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.secondary,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-btn.primary,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-btn.secondary{
  width:auto!important;min-width:82px!important;height:30px!important;min-height:30px!important;padding:0 7px!important;border-radius:7px!important;font-size:13px!important;line-height:1!important;white-space:nowrap!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-pagination-wrap{padding-top:6px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-page-btn{min-width:27px!important;width:27px!important;height:27px!important;font-size:13px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-page-status{font-size:13px!important;margin-left:4px!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-more-link{font-size:14px!important;line-height:1!important;white-space:nowrap!important;}

/* daily card: 3 stat boxes exactly like reference */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-card,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-card{padding:17px 18px!important;min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-card-title{margin-bottom:11px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-card-title h2{display:flex!important;align-items:center!important;gap:7px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-card-title-icon{width:24px!important;height:24px!important;flex:0 0 24px!important;font-size:15px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat-grid{
  display:grid!important;grid-template-columns:.9fr 1.05fr 1.1fr!important;gap:8px!important;margin:0 0 10px!important;min-width:0!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat{
  min-width:0!important;min-height:92px!important;padding:11px 12px!important;border:1px solid #e8ebf2!important;border-radius:9px!important;background:#fff!important;display:block!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat>span{display:block!important;margin:0 0 7px!important;font-size:13px!important;line-height:1!important;font-weight:800!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat>strong{display:block!important;margin:0!important;font-size:23px!important;line-height:1.05!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:left!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat.task>strong{font-size:18px!important;line-height:1.2!important;margin-top:14px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat>small{display:block!important;margin-top:5px!important;font-size:13px!important;line-height:1.3!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-pass-chip{display:inline-flex!important;margin-top:6px!important;padding:3px 6px!important;font-size:13px!important;line-height:1!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-error-pairs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px 8px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-error-pairs span{font-size:13px!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-error-pairs b{font-size:14px!important;margin-left:2px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-full-button{width:100%!important;height:35px!important;min-height:35px!important;font-size:14px!important;line-height:1!important;white-space:nowrap!important;border-radius:7px!important;}

/* 14-day card: score + graph + AI comment all visible */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-grid{
  display:grid!important;grid-template-columns:.7fr 1.7fr 1.3fr!important;gap:8px!important;margin:0 0 10px!important;align-items:stretch!important;min-width:0!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-score,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-chart,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-comment{
  display:block!important;min-width:0!important;min-height:126px!important;padding:11px!important;border:1px solid #e8ebf2!important;border-radius:9px!important;background:#fff!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-score>span,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-comment>span,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-mini-label{font-size:13px!important;line-height:1!important;font-weight:800!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-score>strong{margin-top:13px!important;font-size:28px!important;line-height:1!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-score .ai-summary-delta{margin-top:7px!important;font-size:13px!important;line-height:1.15!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-score small{margin-top:4px!important;font-size:13px!important;line-height:1.25!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-chart .ai-summary-trend{margin-top:4px!important;min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-chart .ai-trend-top{display:none!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-chart .ai-trend-svg{width:100%!important;height:76px!important;margin:2px 0 0!important;display:block!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-chart .ai-trend-foot{font-size:13px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-comment p{margin:12px 0 0!important;font-size:13px!important;line-height:1.55!important;word-break:keep-all!important;overflow:hidden!important;display:-webkit-box!important;-webkit-line-clamp:4!important;-webkit-box-orient:vertical!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-chart .portal-empty.compact{min-height:74px!important;padding:10px 8px!important;font-size:13px!important;line-height:1.4!important;text-align:center!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-chart .portal-empty.compact b{font-size:13px!important;}

/* SECONDARY: current status left / recent feedback right */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-secondary-grid{
  width:100%!important;display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(470px,.95fr)!important;gap:14px!important;align-items:stretch!important;min-width:0!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-card{padding:16px 18px 14px!important;min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-card>h2{margin-bottom:12px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:0 0 10px!important;min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-stats>div{position:relative!important;min-width:0!important;min-height:72px!important;padding:6px 9px 5px 49px!important;border-right:1px solid #edf0f5!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-stats>div:last-child{border-right:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-current-icon{left:9px!important;top:10px!important;width:32px!important;height:32px!important;font-size:15px!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-stats b{font-size:20px!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-stats small{margin-top:4px!important;font-size:13px!important;line-height:1.1!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-stats em{margin-top:4px!important;font-size:13px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-judgement{min-height:36px!important;padding:7px 10px!important;gap:10px!important;overflow:hidden!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-judgement>span{padding:4px 8px!important;font-size:13px!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-judgement p{font-size:13px!important;line-height:1.3!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}

/* recent feedback: never escape to the right */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-archive-card{width:100%!important;max-width:100%!important;min-width:0!important;padding:14px 16px 10px!important;overflow:hidden!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-archive-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin-bottom:6px!important;min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-archive-title-row{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-archive-title-row .portal-chip{height:21px!important;min-height:21px!important;padding:0 6px!important;font-size:13px!important;line-height:1!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-table-head,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-history-row>summary{
  width:100%!important;max-width:100%!important;min-width:0!important;display:grid!important;
  grid-template-columns:48px 90px minmax(0,1.1fr) minmax(0,1fr) 52px!important;
  gap:10px!important;align-items:center!important;overflow:hidden!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-table-head>* ,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-history-row>summary>*{min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-table-head{height:36px!important;min-height:36px!important;padding:0 7px!important;font-size:15px!important;line-height:1!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-history-row{width:100%!important;max-width:100%!important;min-width:0!important;border:0!important;border-bottom:1px solid #edf0f5!important;border-radius:0!important;overflow:hidden!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-history-row>summary{min-height:52px!important;padding:8px 7px!important;list-style:none!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-history-date{font-size:15px!important;line-height:1!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-history-type{max-width:100%!important;padding:5px 8px!important;font-size:15px!important;line-height:1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-history-title{font-size:15px!important;line-height:1.35!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-history-row .ai-history-view{
  justify-self:end!important;width:52px!important;min-width:52px!important;height:32px!important;min-height:30px!important;padding:0!important;border-radius:6px!important;font-size:15px!important;line-height:1!important;white-space:nowrap!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-history-detail{padding:12px!important;overflow:hidden!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-history-detail .ai-feedback-text{font-size:15px!important;line-height:1.65!important;}

/* prevent legacy global 20% enlargement from re-introducing wraps */
html body.ai-teacher-page-body .ai-feedback-hub-v2 button,
html body.ai-teacher-page-body .ai-feedback-hub-v2 select{font-family:inherit!important;}

@media (max-width:1380px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-secondary-grid{grid-template-columns:minmax(0,1fr) minmax(450px,1fr)!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
    grid-template-columns:42px minmax(92px,1.25fr) 66px 80px minmax(98px,1fr) 88px!important;gap:5px!important;
  }
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.primary,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.secondary{min-width:76px!important;font-size:13px!important;}
}
@media (max-width:1180px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-primary-grid,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-secondary-grid{grid-template-columns:1fr!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-summary-column{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important;align-items:start!important;}
}
@media (max-width:760px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-summary-column{grid-template-columns:1fr!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-hero{display:grid!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-focus-card{width:100%!important;flex-basis:auto!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-stats{grid-template-columns:1fr 1fr!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-table-head{display:none!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-history-row>summary{grid-template-columns:46px 86px minmax(0,1fr) 48px!important;}
}


/* v6 — file table readability and spacing
   - remove completion label from the row renderer
   - enlarge file-table typography ~30%
   - redistribute the five remaining columns to use the card width naturally */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-file-card{
  padding-left:20px!important;
  padding-right:20px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-filter-chip{
  height:38px!important;
  min-height:38px!important;
  padding:0 13px!important;
  font-size:16px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-range-select,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-range-select select{
  width:126px!important;
  height:38px!important;
  min-height:38px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-range-select select{
  font-size:16px!important;
  padding-left:12px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
  grid-template-columns:68px minmax(200px,2.45fr) minmax(105px,1fr) minmax(120px,1.05fr) minmax(122px,1fr)!important;
  gap:12px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head{
  height:38px!important;
  min-height:38px!important;
  padding:0 10px!important;
  font-size:15px!important;
  line-height:1!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
  min-height:66px!important;
  padding:10px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main .portal-record-title{
  font-size:18px!important;
  line-height:1.25!important;
  letter-spacing:-0.02em!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-date{
  font-size:15px!important;
  line-height:1!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type-line{
  gap:5px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type-chip{
  min-height:26px!important;
  height:26px!important;
  padding:0 8px!important;
  font-size:15px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-grade{
  font-size:15px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-wrap{
  gap:8px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-value{
  min-width:48px!important;
  font-size:16px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-track{
  min-width:46px!important;
  height:6px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-status-action{
  justify-content:flex-end!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-complete-label{
  display:none!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.primary,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.secondary,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-btn.primary,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-btn.secondary{
  min-width:112px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 13px!important;
  border-radius:9px!important;
  font-size:15px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-page-btn{
  min-width:34px!important;
  width:34px!important;
  height:34px!important;
  font-size:15px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-page-status{
  font-size:15px!important;
  margin-left:6px!important;
}

@media (max-width:1380px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
    grid-template-columns:58px minmax(145px,2fr) minmax(88px,.9fr) minmax(102px,1fr) minmax(108px,.95fr)!important;
    gap:8px!important;
  }
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main .portal-record-title{font-size:16px!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-date{font-size:15px!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type-chip,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-grade{font-size:14px!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-value{font-size:15px!important;min-width:44px!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.primary,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.secondary{min-width:100px!important;font-size:15px!important;}
}

/* v7 — file table containment/alignment
   Keep all five columns inside the file card, align the date header with row dates,
   and slightly reduce row typography/buttons so the action column never escapes. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  grid-template-columns:62px minmax(0,1fr) 92px 104px 96px!important;
  gap:8px!important;
  padding-left:8px!important;
  padding-right:8px!important;
  overflow:hidden!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head{
  height:34px!important;
  min-height:34px!important;
  font-size:14px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head>span{
  min-width:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head>span:first-child,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-date{
  text-align:left!important;
  justify-self:start!important;
  padding-left:0!important;
  margin-left:0!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head>span:last-child{
  text-align:center!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
  min-height:58px!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-date{
  font-size:14px!important;
  line-height:1!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main .portal-record-title{
  font-size:15px!important;
  line-height:1.2!important;
  letter-spacing:-0.02em!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type-line{
  gap:3px!important;
  overflow:hidden!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type-chip{
  min-height:23px!important;
  height:23px!important;
  padding:0 6px!important;
  font-size:14px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-grade{
  font-size:14px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-wrap{
  width:100%!important;
  gap:6px!important;
  overflow:hidden!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-value{
  min-width:43px!important;
  font-size:15px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-track{
  min-width:0!important;
  width:auto!important;
  height:5px!important;
  flex:1 1 auto!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-status-action{
  width:100%!important;
  min-width:0!important;
  justify-content:center!important;
  overflow:hidden!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.primary,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.secondary,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-btn.primary,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-btn.secondary{
  width:118px!important;
  max-width:118px!important;
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 7px!important;
  border-radius:8px!important;
  font-size:14px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

@media (max-width:1380px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
    grid-template-columns:56px minmax(0,1fr) 84px 96px 88px!important;
    gap:7px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head{font-size:14px!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-date{font-size:14px!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main .portal-record-title{font-size:15px!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type-chip,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-grade{font-size:13px!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-value{font-size:14px!important;min-width:41px!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.primary,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.secondary,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-btn.primary,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-btn.secondary{
    width:110px!important;
    max-width:110px!important;
    height:32px!important;
    min-height:32px!important;
    padding:0 5px!important;
    font-size:13px!important;
  }
}

/* v8 — file list cleanup
   - remove redundant accuracy progress bar
   - give the freed width back to the filename column */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
  grid-template-columns:62px minmax(0,1fr) 92px 68px 96px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-wrap{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  overflow:visible!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-value{
  min-width:0!important;
  width:auto!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-track,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-fill{
  display:none!important;
}
@media (max-width:1380px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
    grid-template-columns:58px minmax(0,1fr) 84px 64px 92px!important;
  }
}

/* v9 — lock file-table header/body column alignment
   Header labels and row values use the exact same grid and the same horizontal alignment. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
  box-sizing:border-box!important;
  grid-template-columns:48px minmax(0,1fr) 184px 96px 56px 124px!important;
  column-gap:10px!important;
  padding-left:12px!important;
  padding-right:12px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head>span{
  justify-self:start!important;
  text-align:left!important;
  width:auto!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head>span:nth-child(5){
  justify-self:center!important;
  text-align:center!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-date,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-score{
  justify-self:stretch!important;
  text-align:left!important;
  min-width:0!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-date{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type-line{
  width:100%!important;
  justify-content:flex-start!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-score{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-wrap{
  width:auto!important;
  justify-content:flex-start!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-status-action{
  justify-self:stretch!important;
  justify-content:center!important;
}

@media (max-width:1380px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
    grid-template-columns:58px minmax(0,1fr) 88px 66px 94px!important;
    column-gap:8px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
}


/* v10 — split type and grade into independent columns.
   Header and body share the exact same six-column grid so every label/value stays vertically aligned. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
  grid-template-columns:48px minmax(0,1fr) 184px 78px 48px 56px 124px!important;
  column-gap:9px!important;
  padding-left:12px!important;
  padding-right:12px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head>span:nth-child(1),
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head>span:nth-child(2),
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head>span:nth-child(3),
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head>span:nth-child(4),
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head>span:nth-child(5){
  justify-self:start!important;
  text-align:left!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head>span:nth-child(6){
  justify-self:center!important;
  text-align:center!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-grade,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-score{
  min-width:0!important;
  justify-self:stretch!important;
  text-align:left!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type-chip{
  max-width:100%!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-grade{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  font-size:14px!important;
  line-height:1!important;
  white-space:nowrap!important;
  color:#667085!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-score{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-value{
  font-size:15px!important;
  white-space:nowrap!important;
}
@media (max-width:1380px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
    grid-template-columns:42px minmax(0,1fr) 184px 68px 42px 50px 116px!important;
    column-gap:7px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-grade{font-size:13px!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-value{font-size:14px!important;}
}

/* v11 — increase type / grade / accuracy / action text by ~10% without changing column widths. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type-chip{
  font-size:15px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-grade{
  font-size:15px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-value{
  font-size:15px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.primary,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.secondary,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-btn.primary,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-btn.secondary{
  font-size:15px!important;
}
@media (max-width:1380px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type-chip{
    font-size:14px!important;
  }
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-grade{
    font-size:14px!important;
  }
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-value{
    font-size:15px!important;
  }
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.primary,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.secondary,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-btn.primary,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-btn.secondary{
    font-size:14px!important;
  }
}


/* =====================================================================
   v13 — 파일별 AI 피드백 결과창 재설계
   핵심 판단 → 오류 시각화 → 실제 오류 → 상세 펼치기 순서
   ===================================================================== */
html body.ai-teacher-page-body .ai-feedback-viewer-dialog{
  width:min(1040px,calc(100vw - 48px))!important;
  max-width:1040px!important;
  max-height:90vh!important;
  border-radius:22px!important;
  font-family:var(--sorizava-font-sans,"Apple SD Gothic Neo",Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",sans-serif);
}
html body.ai-teacher-page-body .ai-feedback-viewer-shell{max-height:90vh!important;min-height:min(620px,90vh)!important;}
html body.ai-teacher-page-body .ai-feedback-viewer-head{padding:22px 28px 17px!important;gap:18px!important;}
html body.ai-teacher-page-body .ai-feedback-viewer-kind{font-size:12.8px!important;font-weight:700!important;letter-spacing:0!important;min-height:26px!important;}
html body.ai-teacher-page-body .ai-feedback-viewer-head h2{
  margin:10px 0 6px!important;font-size:25px!important;line-height:1.35!important;font-weight:700!important;letter-spacing:0!important;word-break:keep-all!important;
}
html body.ai-teacher-page-body .ai-feedback-viewer-head p{font-size:13.5px!important;line-height:1.65!important;font-weight:500!important;letter-spacing:.01em!important;}
html body.ai-teacher-page-body .ai-feedback-viewer-body{
  padding:26px 30px 30px!important;font-size:16px!important;line-height:1.82!important;letter-spacing:.012em!important;color:#2d3748!important;
}
html body.ai-teacher-page-body .ai-feedback-viewer-foot{padding:14px 28px!important;}
html body.ai-teacher-page-body .ai-feedback-viewer-foot span{font-size:13px!important;font-weight:600!important;letter-spacing:.01em!important;}
html body.ai-teacher-page-body .ai-feedback-viewer-foot .portal-btn{font-size:14px!important;min-height:40px!important;font-weight:700!important;}

html body.ai-teacher-page-body .ai-single-record-feedback{display:grid;gap:18px;letter-spacing:.012em;}
html body.ai-teacher-page-body .ai-sr-diagnosis{
  padding:20px 22px;border:1px solid #dcd6ff;border-radius:16px;background:linear-gradient(135deg,#f8f6ff 0%,#fff 70%);
}
html body.ai-teacher-page-body .ai-sr-diagnosis>span,
html body.ai-teacher-page-body .ai-sr-section-head span,
html body.ai-teacher-page-body .ai-sr-focus>span,
html body.ai-teacher-page-body .ai-sr-teacher-comment>span{display:block;color:#6048e9;font-size:12.8px;font-weight:800;letter-spacing:.02em;}
html body.ai-teacher-page-body .ai-sr-diagnosis>strong{display:block;margin-top:8px;color:#1d2638;font-size:19px;font-weight:700;line-height:1.75;letter-spacing:.005em;word-break:keep-all;}
html body.ai-teacher-page-body .ai-sr-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
html body.ai-teacher-page-body .ai-sr-metrics>div{min-width:0;padding:15px 16px;border:1px solid #e7eaf1;border-radius:13px;background:#fff;}
html body.ai-teacher-page-body .ai-sr-metrics span{display:block;color:#7f899b;font-size:12.8px;font-weight:700;margin-bottom:7px;}
html body.ai-teacher-page-body .ai-sr-metrics b{display:block;color:#20293a;font-size:16px;font-weight:700;line-height:1.45;word-break:keep-all;}
html body.ai-teacher-page-body .ai-sr-section{padding:19px 20px;border:1px solid #e7eaf1;border-radius:15px;background:#fff;}
html body.ai-teacher-page-body .ai-sr-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px;}
html body.ai-teacher-page-body .ai-sr-section-head h3{margin:4px 0 0!important;color:#20293a!important;font-size:17px!important;font-weight:700!important;line-height:1.45!important;letter-spacing:.005em!important;}
html body.ai-teacher-page-body .ai-sr-section-head small{color:#8b95a7;font-size:12.8px;}
html body.ai-teacher-page-body .ai-sr-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
html body.ai-teacher-page-body .ai-sr-insight{min-width:0;padding:15px 16px;border:1px solid #e8ebf1;border-radius:13px;background:#fbfcfe;}
html body.ai-teacher-page-body .ai-sr-insight>span{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:12.8px;font-weight:800;}
html body.ai-teacher-page-body .ai-sr-insight.good>span{background:#eaf8f1;color:#198a59;}
html body.ai-teacher-page-body .ai-sr-insight.warn>span{background:#fff2e8;color:#d75e25;}
html body.ai-teacher-page-body .ai-sr-insight.next>span{background:#eeeaff;color:#5a43e8;}
html body.ai-teacher-page-body .ai-sr-insight p{margin:10px 0 0!important;padding:0!important;border:0!important;color:#3e485a;font-size:14px!important;font-weight:500!important;line-height:1.8!important;letter-spacing:.012em!important;word-break:keep-all;}
html body.ai-teacher-page-body .ai-sr-error-chart{display:grid;grid-template-columns:80px 54px minmax(0,1fr);column-gap:10px;row-gap:10px;align-items:center;}
html body.ai-teacher-page-body .ai-sr-error-chart .ai-sr-section-head{grid-column:1/-1;margin-bottom:3px;}
html body.ai-teacher-page-body .ai-sr-error-row{display:contents;}
html body.ai-teacher-page-body .ai-sr-error-row>span{font-size:13px;font-weight:700;color:#556074;}
html body.ai-teacher-page-body .ai-sr-error-row>b{font-size:15px;color:#20293a;text-align:right;}
html body.ai-teacher-page-body .ai-sr-error-row>i{height:9px;border-radius:999px;background:#eef1f5;overflow:hidden;}
html body.ai-teacher-page-body .ai-sr-error-row>i>em{display:block;height:100%;border-radius:inherit;background:#7159f2;}
html body.ai-teacher-page-body .ai-sr-error-row.missing>i>em{background:#f0a343;}
html body.ai-teacher-page-body .ai-sr-error-row.added>i>em{background:#4cae85;}
html body.ai-teacher-page-body .ai-sr-error-table{border:1px solid #edf0f4;border-radius:12px;overflow:hidden;}
html body.ai-teacher-page-body .ai-sr-error-table .head,
html body.ai-teacher-page-body .ai-sr-error-table .row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(120px,.8fr) minmax(180px,1.4fr);gap:12px;align-items:center;}
html body.ai-teacher-page-body .ai-sr-error-table .head{padding:9px 13px;background:#f8f9fc;color:#8a94a6;font-size:12.8px;font-weight:800;}
html body.ai-teacher-page-body .ai-sr-error-table .row{padding:11px 13px;border-top:1px solid #edf0f4;font-size:13px;line-height:1.6;}
html body.ai-teacher-page-body .ai-sr-error-table .row b{color:#20293a;font-weight:700;}
html body.ai-teacher-page-body .ai-sr-error-table .row strong{color:#d0564b;font-weight:700;}
html body.ai-teacher-page-body .ai-sr-error-table .row span{color:#697589;}
html body.ai-teacher-page-body .ai-sr-plain-list{margin:0;padding:0 0 0 18px;display:grid;gap:9px;}
html body.ai-teacher-page-body .ai-sr-plain-list li{font-size:14px!important;line-height:1.8!important;color:#4b5669;}
html body.ai-teacher-page-body .ai-sr-focus{padding:16px 18px;border:1px solid #f1dfb9;border-radius:14px;background:#fffdf8;}
html body.ai-teacher-page-body .ai-sr-focus>span{color:#a26e13;}
html body.ai-teacher-page-body .ai-sr-focus>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;}
html body.ai-teacher-page-body .ai-sr-focus b{padding:6px 10px;border:1px solid #f1dfb9;border-radius:999px;background:#fff;color:#76531c;font-size:12.8px;font-weight:700;}
html body.ai-teacher-page-body .ai-sr-detail-stack{display:grid;gap:8px;}
html body.ai-teacher-page-body .ai-sr-details{border:1px solid #e6e9f0;border-radius:13px;background:#fff;overflow:hidden;}
html body.ai-teacher-page-body .ai-sr-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;cursor:pointer;color:#313b4d;font-size:13px;font-weight:700;}
html body.ai-teacher-page-body .ai-sr-details summary::-webkit-details-marker{display:none;}
html body.ai-teacher-page-body .ai-sr-details summary b{color:#6650e8;font-size:12.8px;font-weight:700;}
html body.ai-teacher-page-body .ai-sr-details ul,
html body.ai-teacher-page-body .ai-sr-details ol{margin:0;padding:4px 22px 17px 36px;border-top:1px solid #edf0f4;display:grid;gap:12px;}
html body.ai-teacher-page-body .ai-sr-details li{padding-top:12px;color:#4b5669;font-size:14px!important;font-weight:500!important;line-height:1.85!important;letter-spacing:.012em!important;word-break:keep-all;}
html body.ai-teacher-page-body .ai-sr-teacher-comment{padding:18px 20px;border-radius:14px;background:#f7f5ff;border:1px solid #e3defe;}
html body.ai-teacher-page-body .ai-sr-teacher-comment p{margin:8px 0 0!important;padding:0!important;border:0!important;color:#3d4658;font-size:14px!important;font-weight:500!important;line-height:1.85!important;letter-spacing:.012em!important;word-break:keep-all;}

@media (max-width:820px){
  html body.ai-teacher-page-body .ai-feedback-viewer-dialog{width:calc(100vw - 20px)!important;}
  html body.ai-teacher-page-body .ai-feedback-viewer-head{padding:18px 18px 14px!important;}
  html body.ai-teacher-page-body .ai-feedback-viewer-head h2{font-size:21px!important;}
  html body.ai-teacher-page-body .ai-feedback-viewer-body{padding:20px 16px 24px!important;}
  html body.ai-teacher-page-body .ai-sr-metrics{grid-template-columns:1fr 1fr;}
  html body.ai-teacher-page-body .ai-sr-insight-grid{grid-template-columns:1fr;}
  html body.ai-teacher-page-body .ai-sr-error-table .head,
  html body.ai-teacher-page-body .ai-sr-error-table .row{grid-template-columns:1fr 1fr;}
  html body.ai-teacher-page-body .ai-sr-error-table .head span:last-child,
  html body.ai-teacher-page-body .ai-sr-error-table .row span:last-child{display:none;}
}

/* =====================================================================
   v14 — 파일별 AI 피드백 상세 페이지
   모달 대신 피드백방 안에서 전체 페이지로 열고, AI 판단을 본문 중심에 둔다.
   ===================================================================== */
html body.ai-teacher-page-body .ai-single-feedback-page[hidden]{display:none!important;}
html body.ai-teacher-page-body .ai-single-feedback-page{
  width:100%!important;
  max-width:1540px!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:22px 28px 72px!important;
  font-family:var(--sorizava-font-sans,"Apple SD Gothic Neo",Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI","Malgun Gothic",sans-serif);
  color:#20293a!important;
  box-sizing:border-box!important;
}
html body.ai-teacher-page-body.ai-single-feedback-detail-open .portal-main{
  overflow-x:hidden!important;
}
html body.ai-teacher-page-body .ai-sr-page-head{
  margin:0 0 20px!important;
  padding:0 2px 20px!important;
  border-bottom:1px solid #e7eaf1!important;
}
html body.ai-teacher-page-body .ai-sr-page-back{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  color:#596579!important;
  font:inherit!important;
  font-size:14px!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  cursor:pointer!important;
  padding:7px 0!important;
  margin:0 0 8px!important;
}
html body.ai-teacher-page-body .ai-sr-page-back:hover{color:#5a43e8!important;}
html body.ai-teacher-page-body .ai-sr-page-title-row{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:28px!important;
  min-width:0!important;
}
html body.ai-teacher-page-body .ai-sr-page-kind{
  display:inline-flex!important;
  align-items:center!important;
  min-height:27px!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  background:#eeeaff!important;
  color:#5f48e9!important;
  font-size:12.8px!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
}
html body.ai-teacher-page-body .ai-sr-page-title-row h1{
  margin:9px 0 5px!important;
  color:#172033!important;
  font-size:28px!important;
  font-weight:700!important;
  line-height:1.4!important;
  letter-spacing:.005em!important;
  word-break:keep-all!important;
}
html body.ai-teacher-page-body .ai-sr-page-title-row p{
  margin:0!important;
  color:#7b8698!important;
  font-size:13.5px!important;
  font-weight:500!important;
  line-height:1.7!important;
  letter-spacing:.01em!important;
}
html body.ai-teacher-page-body .ai-sr-page-head-actions{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex:0 0 auto!important;
}
html body.ai-teacher-page-body .ai-sr-page-head-actions>span{
  color:#9099aa!important;
  font-size:12.8px!important;
  font-weight:500!important;
  white-space:nowrap!important;
}
html body.ai-teacher-page-body .ai-sr-page-head-actions .portal-btn{
  min-height:40px!important;
  padding:0 18px!important;
  font-size:13px!important;
  font-weight:700!important;
}

html body.ai-teacher-page-body .ai-single-record-feedback-v14{
  display:grid!important;
  gap:18px!important;
  width:100%!important;
  min-width:0!important;
  font-size:16px!important;
  line-height:1.82!important;
  letter-spacing:.012em!important;
}
html body.ai-teacher-page-body .ai-sr-v14-diagnosis{
  display:grid!important;
  grid-template-columns:126px minmax(0,1fr)!important;
  align-items:center!important;
  gap:24px!important;
  padding:27px 31px!important;
  border:1px solid #dcd6ff!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#f8f6ff 0%,#fff 72%)!important;
  box-shadow:0 10px 30px rgba(91,70,220,.045)!important;
}
html body.ai-teacher-page-body .ai-sr-v14-mascot{
  width:116px!important;
  height:116px!important;
  border-radius:24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.72)!important;
}
html body.ai-teacher-page-body .ai-sr-v14-mascot img{width:104px!important;height:104px!important;object-fit:contain!important;}
html body.ai-teacher-page-body .ai-sr-v14-diagnosis-copy{min-width:0!important;}
html body.ai-teacher-page-body .ai-sr-v14-kicker{display:flex!important;align-items:center!important;gap:9px!important;margin-bottom:7px!important;}
html body.ai-teacher-page-body .ai-sr-v14-kicker>span{
  color:#5f48e9!important;font-size:13px!important;font-weight:800!important;letter-spacing:.025em!important;
}
html body.ai-teacher-page-body .ai-sr-v14-kicker>b{
  display:inline-flex!important;padding:4px 9px!important;border-radius:999px!important;background:#6a50ee!important;color:#fff!important;font-size:12.8px!important;font-weight:800!important;letter-spacing:.04em!important;
}
html body.ai-teacher-page-body .ai-sr-v14-diagnosis h2{
  margin:0!important;color:#182135!important;font-size:24px!important;font-weight:700!important;line-height:1.52!important;letter-spacing:.006em!important;word-break:keep-all!important;
}
html body.ai-teacher-page-body .ai-sr-v14-diagnosis p{
  margin:9px 0 0!important;padding:0!important;border:0!important;color:#4c5769!important;font-size:15px!important;font-weight:500!important;line-height:1.9!important;letter-spacing:.014em!important;word-break:keep-all!important;
}

html body.ai-teacher-page-body .ai-sr-v14-section{
  min-width:0!important;
  padding:22px 24px!important;
  border:1px solid #e5e9f0!important;
  border-radius:18px!important;
  background:#fff!important;
}
html body.ai-teacher-page-body .ai-sr-v14-section-title{margin:0 0 17px!important;}
html body.ai-teacher-page-body .ai-sr-v14-section-title>span,
html body.ai-teacher-page-body .ai-sr-v14-pattern-head span,
html body.ai-teacher-page-body .ai-sr-v14-prescription-copy>span,
html body.ai-teacher-page-body .ai-sr-v14-teacher-final span{
  display:block!important;color:#6048e9!important;font-size:12.8px!important;font-weight:800!important;letter-spacing:.025em!important;
}
html body.ai-teacher-page-body .ai-sr-v14-section-title h2,
html body.ai-teacher-page-body .ai-sr-v14-pattern-head h2{
  margin:5px 0 0!important;color:#293346!important;font-size:16px!important;font-weight:600!important;line-height:1.65!important;letter-spacing:.01em!important;word-break:keep-all!important;
}
html body.ai-teacher-page-body .ai-sr-v14-section-title.compact{margin-bottom:14px!important;}

html body.ai-teacher-page-body .ai-sr-v14-attention-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important;
}
html body.ai-teacher-page-body .ai-sr-v14-attention-grid article{
  min-width:0!important;padding:18px 18px 20px!important;border:1px solid #e9edf2!important;border-radius:15px!important;background:#fbfcfe!important;
}
html body.ai-teacher-page-body .ai-sr-v14-attention-grid article.good{background:#fbfefc!important;border-color:#dcefe6!important;}
html body.ai-teacher-page-body .ai-sr-v14-attention-grid article.warn{background:#fffdfb!important;border-color:#f3e4d8!important;}
html body.ai-teacher-page-body .ai-sr-v14-attention-grid article.next{background:#fcfbff!important;border-color:#e4dfff!important;}
html body.ai-teacher-page-body .ai-sr-v14-attention-grid article>span{
  display:inline-flex!important;padding:4px 8px!important;border-radius:999px!important;background:#eef1f5!important;color:#627087!important;font-size:12.8px!important;font-weight:800!important;letter-spacing:.02em!important;
}
html body.ai-teacher-page-body .ai-sr-v14-attention-grid article.good>span{background:#e9f8f0!important;color:#18855a!important;}
html body.ai-teacher-page-body .ai-sr-v14-attention-grid article.warn>span{background:#fff0e6!important;color:#d7632d!important;}
html body.ai-teacher-page-body .ai-sr-v14-attention-grid article.next>span{background:#eeeaff!important;color:#5c46e8!important;}
html body.ai-teacher-page-body .ai-sr-v14-attention-grid h3{
  margin:11px 0 8px!important;color:#212b3d!important;font-size:17px!important;font-weight:700!important;line-height:1.55!important;letter-spacing:.006em!important;word-break:keep-all!important;
}
html body.ai-teacher-page-body .ai-sr-v14-attention-grid p{
  margin:0!important;padding:0!important;border:0!important;color:#4e5a6d!important;font-size:14px!important;font-weight:500!important;line-height:1.9!important;letter-spacing:.014em!important;word-break:keep-all!important;
}

html body.ai-teacher-page-body .ai-sr-v14-evidence-grid{
  display:grid!important;grid-template-columns:minmax(190px,.8fr) minmax(260px,1fr) minmax(330px,1.25fr)!important;gap:12px!important;
}
html body.ai-teacher-page-body .ai-sr-v14-evidence-grid>article{
  min-width:0!important;padding:17px 18px!important;border:1px solid #e9ecf2!important;border-radius:14px!important;background:#fbfcfe!important;
}
html body.ai-teacher-page-body .ai-sr-v14-evidence-grid>article>span{display:block!important;color:#677489!important;font-size:12.8px!important;font-weight:700!important;margin-bottom:8px!important;}
html body.ai-teacher-page-body .score-card>strong{display:block!important;color:#533de7!important;font-size:28px!important;font-weight:800!important;line-height:1.2!important;letter-spacing:0!important;}
html body.ai-teacher-page-body .score-card>small{display:block!important;margin-top:6px!important;color:#6e7b90!important;font-size:12.8px!important;font-weight:600!important;}
html body.ai-teacher-page-body .score-track{position:relative!important;height:8px!important;margin-top:16px!important;border-radius:999px!important;background:#e9edf2!important;overflow:visible!important;}
html body.ai-teacher-page-body .score-track>i{display:block!important;height:100%!important;border-radius:inherit!important;background:linear-gradient(90deg,#8e7af5,#6048e9)!important;}
html body.ai-teacher-page-body .score-track>em{position:absolute!important;top:-4px!important;width:2px!important;height:16px!important;background:#ff9b55!important;border-radius:2px!important;}
html body.ai-teacher-page-body .error-card{display:grid!important;grid-template-columns:48px 34px minmax(0,1fr)!important;column-gap:8px!important;row-gap:8px!important;align-items:center!important;}
html body.ai-teacher-page-body .error-card>span,html body.ai-teacher-page-body .error-card>small{grid-column:1/-1!important;}
html body.ai-teacher-page-body .error-card>small{margin-top:4px!important;color:#7c8799!important;font-size:12.8px!important;font-weight:600!important;}
html body.ai-teacher-page-body .ai-sr-evidence-error-row{display:contents!important;}
html body.ai-teacher-page-body .ai-sr-evidence-error-row>span{font-size:12.8px!important;font-weight:700!important;color:#58657a!important;}
html body.ai-teacher-page-body .ai-sr-evidence-error-row>b{font-size:12.8px!important;font-weight:700!important;color:#202a3c!important;text-align:right!important;}
html body.ai-teacher-page-body .ai-sr-evidence-error-row>i{height:7px!important;background:#e9edf2!important;border-radius:999px!important;overflow:hidden!important;}
html body.ai-teacher-page-body .ai-sr-evidence-error-row>i>em{display:block!important;height:100%!important;border-radius:inherit!important;background:#ff8b43!important;}
html body.ai-teacher-page-body .ai-sr-evidence-error-row.missing>i>em{background:#ef5c68!important;}
html body.ai-teacher-page-body .ai-sr-evidence-error-row.added>i>em{background:#6952ef!important;}
html body.ai-teacher-page-body .trend-card{position:relative!important;}
html body.ai-teacher-page-body .ai-sr-trend-svg{display:block!important;width:100%!important;height:66px!important;overflow:visible!important;}
html body.ai-teacher-page-body .ai-sr-trend-svg .axis{stroke:#e3e8ef!important;stroke-width:1!important;}
html body.ai-teacher-page-body .ai-sr-trend-svg .line{fill:none!important;stroke:#6a50ee!important;stroke-width:2.3!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
html body.ai-teacher-page-body .ai-sr-trend-svg .dot{fill:#fff!important;stroke:#8572f1!important;stroke-width:2!important;}
html body.ai-teacher-page-body .ai-sr-trend-svg .dot.current{fill:#6048e9!important;stroke:#6048e9!important;}
html body.ai-teacher-page-body .trend-values{display:flex!important;justify-content:space-between!important;gap:5px!important;margin-top:2px!important;}
html body.ai-teacher-page-body .trend-values small{display:flex!important;flex-direction:column!important;align-items:center!important;min-width:0!important;color:#8a94a5!important;font-size:12.8px!important;line-height:1.35!important;}
html body.ai-teacher-page-body .trend-values small b{color:#465266!important;font-size:12.8px!important;font-weight:700!important;}
html body.ai-teacher-page-body .trend-card>em{display:block!important;margin-top:7px!important;color:#6650e8!important;font-size:12.8px!important;font-style:normal!important;font-weight:700!important;text-align:right!important;}
html body.ai-teacher-page-body .ai-sr-v14-no-trend{height:66px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px dashed #dce1e9!important;border-radius:10px!important;color:#939dad!important;font-size:12.8px!important;}

html body.ai-teacher-page-body .ai-sr-v14-error-list{display:grid!important;gap:10px!important;}
html body.ai-teacher-page-body .ai-sr-v14-error-list>article{
  display:grid!important;grid-template-columns:42px minmax(280px,.85fr) minmax(0,1.25fr)!important;align-items:center!important;gap:15px!important;min-width:0!important;padding:14px 16px!important;border:1px solid #e9ecf1!important;border-radius:13px!important;background:#fbfcfe!important;
}
html body.ai-teacher-page-body .error-index{display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;border-radius:10px!important;background:#eeeaff!important;color:#5d46e7!important;font-size:12.8px!important;font-weight:800!important;}
html body.ai-teacher-page-body .error-words{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;flex-wrap:wrap!important;}
html body.ai-teacher-page-body .error-words>span{font-size:12.8px!important;color:#788397!important;white-space:nowrap!important;}
html body.ai-teacher-page-body .error-words>span b{margin-left:4px!important;color:#202a3d!important;font-size:14px!important;font-weight:700!important;}
html body.ai-teacher-page-body .error-words>span strong{margin-left:4px!important;color:#dc5f50!important;font-size:14px!important;font-weight:700!important;}
html body.ai-teacher-page-body .error-words>i{color:#a1a8b4!important;font-style:normal!important;font-size:12.8px!important;}
html body.ai-teacher-page-body .error-words>em{display:inline-flex!important;padding:3px 7px!important;border-radius:999px!important;background:#fff0e6!important;color:#d65b28!important;font-size:12.8px!important;font-weight:800!important;font-style:normal!important;}
html body.ai-teacher-page-body .ai-sr-v14-error-list article>p{margin:0!important;padding:0!important;border:0!important;color:#536075!important;font-size:13px!important;font-weight:500!important;line-height:1.82!important;letter-spacing:.014em!important;word-break:keep-all!important;}
html body.ai-teacher-page-body .ai-sr-v14-error-list article>p>b{display:block!important;margin-bottom:3px!important;color:#6550dd!important;font-size:12.8px!important;font-weight:800!important;}
html body.ai-teacher-page-body .plain-error{grid-column:2/-1!important;}
html body.ai-teacher-page-body .ai-sr-v14-more-errors{margin-top:11px!important;border:1px solid #e7eaf0!important;border-radius:12px!important;overflow:hidden!important;background:#fff!important;}
html body.ai-teacher-page-body .ai-sr-v14-more-errors summary{list-style:none!important;cursor:pointer!important;padding:12px 15px!important;color:#6350df!important;font-size:12.8px!important;font-weight:700!important;text-align:center!important;}
html body.ai-teacher-page-body .ai-sr-v14-more-errors summary::-webkit-details-marker{display:none!important;}
html body.ai-teacher-page-body .ai-sr-v14-more-errors ul{margin:0!important;padding:12px 28px 16px 42px!important;border-top:1px solid #edf0f4!important;display:grid!important;gap:9px!important;}
html body.ai-teacher-page-body .ai-sr-v14-more-errors li{color:#556176!important;font-size:13px!important;line-height:1.8!important;letter-spacing:.012em!important;}

html body.ai-teacher-page-body .ai-sr-v14-pattern{
  background:linear-gradient(135deg,#fbfaff 0%,#fff 72%)!important;border-color:#dfdafc!important;
}
html body.ai-teacher-page-body .ai-sr-v14-pattern-head{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:18px!important;margin-bottom:14px!important;}
html body.ai-teacher-page-body .pattern-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;border-radius:13px!important;background:#eeeaff!important;color:#6048e9!important;font-size:18px!important;flex:0 0 auto!important;}
html body.ai-teacher-page-body .ai-sr-v14-pattern-list{display:grid!important;gap:8px!important;}
html body.ai-teacher-page-body .ai-sr-v14-pattern-list article{display:grid!important;grid-template-columns:30px minmax(0,1fr)!important;gap:11px!important;align-items:flex-start!important;padding:12px 14px!important;border-radius:12px!important;background:rgba(255,255,255,.76)!important;}
html body.ai-teacher-page-body .ai-sr-v14-pattern-list article>b{display:flex!important;align-items:center!important;justify-content:center!important;width:26px!important;height:26px!important;border-radius:9px!important;background:#eeeaff!important;color:#624ce8!important;font-size:12.8px!important;font-weight:800!important;}
html body.ai-teacher-page-body .ai-sr-v14-pattern-list article>p{margin:0!important;padding:0!important;border:0!important;color:#465267!important;font-size:14px!important;font-weight:500!important;line-height:1.9!important;letter-spacing:.014em!important;word-break:keep-all!important;}

html body.ai-teacher-page-body .ai-sr-v14-prescription{
  display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(250px,.45fr)!important;gap:20px!important;background:#faf9ff!important;border-color:#ddd7ff!important;
}
html body.ai-teacher-page-body .ai-sr-v14-prescription-copy h2{margin:6px 0 13px!important;color:#251e55!important;font-size:20px!important;font-weight:700!important;line-height:1.55!important;letter-spacing:.006em!important;word-break:keep-all!important;}
html body.ai-teacher-page-body .ai-sr-v14-prescription-copy ol{margin:0!important;padding-left:25px!important;display:grid!important;gap:8px!important;}
html body.ai-teacher-page-body .ai-sr-v14-prescription-copy li{padding-left:4px!important;color:#4a566a!important;font-size:14px!important;font-weight:500!important;line-height:1.82!important;letter-spacing:.012em!important;word-break:keep-all!important;}
html body.ai-teacher-page-body .focus-chips{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:7px!important;margin-top:15px!important;}
html body.ai-teacher-page-body .focus-chips small{color:#7a8596!important;font-size:12.8px!important;font-weight:700!important;margin-right:2px!important;}
html body.ai-teacher-page-body .focus-chips b{display:inline-flex!important;padding:5px 9px!important;border:1px solid #e1dcfb!important;border-radius:999px!important;background:#fff!important;color:#6652d5!important;font-size:12.8px!important;font-weight:700!important;}
html body.ai-teacher-page-body .ai-sr-v14-prescription-action{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;padding:18px!important;border:1px solid #e2dcff!important;border-radius:15px!important;background:#fff!important;}
html body.ai-teacher-page-body .ai-sr-v14-prescription-action>span{color:#8a94a6!important;font-size:12.8px!important;font-weight:700!important;}
html body.ai-teacher-page-body .ai-sr-v14-prescription-action>strong{margin:5px 0 14px!important;color:#293346!important;font-size:14px!important;font-weight:700!important;line-height:1.6!important;word-break:keep-all!important;}
html body.ai-teacher-page-body .ai-sr-v14-prescription-action .portal-btn{display:flex!important;align-items:center!important;justify-content:center!important;min-height:45px!important;font-size:13px!important;font-weight:700!important;text-decoration:none!important;}

html body.ai-teacher-page-body .ai-sr-v14-details{border:1px solid #e6e9f0!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important;}
html body.ai-teacher-page-body .ai-sr-v14-details summary{list-style:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:14px 17px!important;cursor:pointer!important;color:#364155!important;font-size:13px!important;font-weight:700!important;}
html body.ai-teacher-page-body .ai-sr-v14-details summary::-webkit-details-marker{display:none!important;}
html body.ai-teacher-page-body .ai-sr-v14-details summary b{color:#644de6!important;font-size:12.8px!important;}
html body.ai-teacher-page-body .ai-sr-v14-details ul{margin:0!important;padding:12px 26px 18px 40px!important;border-top:1px solid #edf0f4!important;display:grid!important;gap:10px!important;}
html body.ai-teacher-page-body .ai-sr-v14-details li{color:#526075!important;font-size:13.5px!important;line-height:1.85!important;letter-spacing:.012em!important;word-break:keep-all!important;}

html body.ai-teacher-page-body .ai-sr-v14-teacher-final{
  display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;gap:15px!important;align-items:center!important;padding:18px 21px!important;border:1px solid #e1ddfa!important;border-radius:16px!important;background:#f8f6ff!important;
}
html body.ai-teacher-page-body .teacher-avatar{width:52px!important;height:52px!important;border-radius:14px!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;}
html body.ai-teacher-page-body .teacher-avatar img{width:48px!important;height:48px!important;object-fit:contain!important;}
html body.ai-teacher-page-body .ai-sr-v14-teacher-final p{margin:5px 0 0!important;padding:0!important;border:0!important;color:#465267!important;font-size:14px!important;font-weight:500!important;line-height:1.9!important;letter-spacing:.014em!important;word-break:keep-all!important;}

@media (max-width:1180px){
  html body.ai-teacher-page-body .ai-single-feedback-page{padding:20px 20px 64px!important;}
  html body.ai-teacher-page-body .ai-sr-v14-attention-grid{grid-template-columns:1fr!important;}
  html body.ai-teacher-page-body .ai-sr-v14-evidence-grid{grid-template-columns:1fr 1fr!important;}
  html body.ai-teacher-page-body .ai-sr-v14-evidence-grid .trend-card{grid-column:1/-1!important;}
  html body.ai-teacher-page-body .ai-sr-v14-error-list>article{grid-template-columns:38px minmax(240px,.8fr) minmax(0,1.2fr)!important;}
}
@media (max-width:760px){
  html body.ai-teacher-page-body .ai-single-feedback-page{padding:16px 12px 56px!important;}
  html body.ai-teacher-page-body .ai-sr-page-title-row{display:block!important;}
  html body.ai-teacher-page-body .ai-sr-page-head-actions{margin-top:12px!important;justify-content:space-between!important;}
  html body.ai-teacher-page-body .ai-sr-page-head-actions>span{white-space:normal!important;}
  html body.ai-teacher-page-body .ai-sr-page-title-row h1{font-size:22px!important;}
  html body.ai-teacher-page-body .ai-sr-v14-diagnosis{grid-template-columns:76px minmax(0,1fr)!important;padding:20px 18px!important;gap:15px!important;}
  html body.ai-teacher-page-body .ai-sr-v14-mascot{width:72px!important;height:72px!important;border-radius:18px!important;}
  html body.ai-teacher-page-body .ai-sr-v14-mascot img{width:68px!important;height:68px!important;}
  html body.ai-teacher-page-body .ai-sr-v14-diagnosis h2{font-size:19px!important;}
  html body.ai-teacher-page-body .ai-sr-v14-diagnosis p{font-size:13.5px!important;}
  html body.ai-teacher-page-body .ai-sr-v14-section{padding:18px 16px!important;}
  html body.ai-teacher-page-body .ai-sr-v14-evidence-grid{grid-template-columns:1fr!important;}
  html body.ai-teacher-page-body .ai-sr-v14-evidence-grid .trend-card{grid-column:auto!important;}
  html body.ai-teacher-page-body .ai-sr-v14-error-list>article{grid-template-columns:34px minmax(0,1fr)!important;gap:10px!important;}
  html body.ai-teacher-page-body .ai-sr-v14-error-list article>p{grid-column:2!important;}
  html body.ai-teacher-page-body .ai-sr-v14-prescription{grid-template-columns:1fr!important;}
}

/* v14 compact fallback — 피드백 보관함/다른 페이지에서는 상세 페이지 전체를 펼치지 않는다. */
html body .ai-sr-compact-preview{display:grid;gap:10px;letter-spacing:.01em;}
html body .ai-sr-compact-preview>strong{font-size:15px;line-height:1.7;font-weight:700;color:#263044;word-break:keep-all;}
html body .ai-sr-compact-metrics{display:flex;flex-wrap:wrap;gap:8px;}
html body .ai-sr-compact-metrics>span{padding:6px 9px;border-radius:999px;background:#f3f1ff;color:#657087;font-size:12.8px;font-weight:600;}
html body .ai-sr-compact-metrics b{color:#5e47e7;font-weight:800;}
html body .ai-sr-compact-preview>p{margin:0!important;padding:10px 12px!important;border:1px solid #eceef3!important;border-radius:10px!important;background:#fbfcfe!important;font-size:12.8px!important;line-height:1.75!important;color:#536075!important;word-break:keep-all!important;}
html body .ai-sr-compact-preview>p em{display:inline-block;margin-right:8px;color:#5f48e9;font-size:12.8px;font-style:normal;font-weight:800;}
html body .ai-sr-compact-preview>p.next{background:#f8f6ff!important;border-color:#e3defd!important;}
html body.ai-teacher-page-body .ai-sr-v14-legacy>p{margin:0 0 16px!important;padding:0!important;border:0!important;color:#4c586c!important;font-size:15px!important;font-weight:500!important;line-height:1.95!important;letter-spacing:.014em!important;word-break:keep-all!important;}
html body.ai-teacher-page-body .ai-sr-v14-legacy>p:last-child{margin-bottom:0!important;}

/* v15 — 최근 피드백의 파일별 항목은 하단 펼침이 아니라 전용 상세 페이지로 이동 */
/* [2026-08-19] 표 칸 어긋남 수정 — 파일별 항목(<a>)의 격자를 헤더(.ai-feedback-table-head)와
   글자 하나까지 똑같이 맞춘다. 예전에는 이 <a>만 70px 78px … gap:12px로 따로 잡혀 있어
   같은 표 안에서 헤더·펼침행(summary)과 칸이 어긋났다. 헤더 값을 바꾸면 이 값도 함께 바꿀 것. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-history-link>a{
  display:grid!important;
  grid-template-columns:48px 90px minmax(0,1.1fr) minmax(0,1fr) 52px!important;
  gap:10px!important;
  align-items:center!important;
  min-height:52px!important;
  padding:8px 7px!important;
  color:inherit!important;
  text-decoration:none!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-history-link>a>*{min-width:0!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-history-link>a:hover{background:#faf9ff!important;}
/* 좁은 화면에서도 헤더와 같은 값으로 좁힌다. */
@media(max-width:760px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-history-link>a{grid-template-columns:46px 86px minmax(0,1fr) 48px!important;}
}

/* =====================================================================
 * [2026-08-19] AI 선생님 화면 자간 정상화
 * ---------------------------------------------------------------------
 * letter-spacing 은 em 으로 적어도 '계산된 px' 로 자식에게 물려진다.
 * 이 페이지만 <html class="type-scale-lg"> 로 배율이 120%(19.2px)라
 * body 의 -.018em 이 -0.3456px 로 굳어 내려오는데, 정작 표·카드 글자는
 * 이 파일이 13px 로 고정해 둔다. 그래서 13px 글자가 19.2px 기준의 자간을
 * 뒤집어써 비율상 -0.027em 이 되고, 다른 메뉴(-0.018~-0.022em)보다
 * 눈에 띄게 좁아 보였다.
 *   AI 선생님 중앙값 -0.030em  vs  마이페이지 -0.020em · 홈/공부방 -0.022em
 *
 * 아래에서 본문 영역의 모든 요소에 자간을 '다시' 선언해, 물려받은 px 대신
 * 각자 제 글자 크기 기준으로 -.018em(사이트 공통값)을 계산하게 한다.
 * !important 를 붙이지 않았으므로, 제목(h1~h4 -.045em)이나 읽기 문단
 * (.012em)처럼 일부러 지정해 둔 값은 그대로 살아남는다.
 * ===================================================================== */
html body.ai-teacher-page-body .portal-main,
html body.ai-teacher-page-body .portal-main *{letter-spacing:-0.02em;}

/* =====================================================================
 * [2026-08-19] AI 선생님 화면 글자 굵기 위계 정리
 * ---------------------------------------------------------------------
 * 글자 요소 71개 중 43개(61%)가 700 이상이었고, 굵기가 700·800·850·900
 * 네 종류로 흩어져 있었다. 게다가 위계가 뒤집혀 있었다 —
 * 카드 제목(h2)이 700인데 표 안의 작은 라벨과 뱃지가 800~900이었다.
 * 다 굵으니 어디가 중요한지 알 수 없고, 굵은 한글은 획이 서로 붙어 보여
 * 자간까지 좁아 보였다. (파일명이 850이었다 — 자간은 이미 사이트 표준값)
 *
 * 아래 네 단계로만 쓴다. 이 표를 벗어나는 굵기를 새로 넣지 말 것.
 *   800  페이지 제목(h1)                       — 화면에 하나
 *   700  카드 제목(h2·h3), 큰 수치, 주요 버튼    — 구역의 주인공
 *   600  표의 강조 칸(파일명·제목·정확도), 뱃지, 보조 버튼, 표 제목줄
 *   500  나머지 전부 — 날짜·급수·단위·설명 라벨
 * 본문 문단은 각 파일의 기존 값(400~650)을 그대로 둔다.
 *
 * ※ 선택자에 .ai-feedback-hub-v2 를 반드시 낀다. 이 파일 위쪽의 기존 규칙이
 *   같은 깊이(0-3-3)에 !important 라, 빼면 그쪽이 이겨 굵기가 안 바뀐다.
 * ===================================================================== */
html body.ai-teacher-page-body .ai-feedback-hub-v2 h1{font-weight:800!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 h2,
html body.ai-teacher-page-body .ai-feedback-hub-v2 h3{font-weight:700!important;}

/* 700 — 각 구역에서 제일 먼저 읽혀야 하는 수치와 주요 버튼 */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-hero-copy>strong,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-focus-card strong,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-stats b,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat>strong,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-score>strong,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-score-value,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .portal-btn.primary,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-filter-chip.active{font-weight:700!important;}

/* 600 — 표에서 눈으로 훑는 칸, 뱃지, 보조 버튼 */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main .portal-record-title,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type-chip,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-table-head,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-history-title,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-history-type,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-history-view,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .portal-chip,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-filter-chip,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-more-link,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-inline-link,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .portal-btn{font-weight:600!important;}

/* 500 — 곁들이는 글자. 굵을 이유가 없다 */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-date,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-grade,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-history-date,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-stats small,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-stats em,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-mini-label,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat small,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat em,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat span,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-score small,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-score span,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-focus-card small,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-judgement>span,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-comment>span,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-summary-delta,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-card-title p,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-section-head p{font-weight:500!important;}

/* [2026-08-19] 좌우 2단 배치를 없앴다 — '파일별 AI 피드백'과 요약 카드가 가로를
   나눠 쓰던 구조다. 파일 표는 고정 칸이 다섯(연습일·종류·급수·정확도·작업 = 354px)
   이라 남는 폭이 전부 파일명으로 가는데, 오른쪽 열이 최소 440px 을 가져가면
   1480px 아래에서 파일명이 80~225px 로 눌렸다(측정값).
   게다가 넓은 화면에서도 요약 카드 두 장이 440~550px 안에 갇혀, 안쪽 지표 상자
   3개가 각 130px 남짓이 되어 한글이 넉 줄로 쪼개졌다. 가로를 나눌수록 양쪽이
   같이 좁아지는 구조라 2단 자체를 버렸다.
   지금은 파일 표가 한 줄을 다 쓰고, 요약 카드 둘은 그 아래에 좌우로 앉는다. */

/* [2026-08-19] ai-teacher-redesign.css 의 @media(max-width:900px) 가
   .ai-room-file-main 과 .ai-file-action 에 grid-column:1/-1 을 걸어 한 줄을
   통째로 쓰게 만든다. 그런데 이 파일은 같은 구간에서 6칸 표를 유지하므로,
   761~900px 에서 파일명이 한 줄을 다 먹고 나머지 칸이 다음 줄로 밀려
   '작업' 버튼이 42px 로 눌렸다. 접는 기준을 760px 하나로 통일한다.
   (앞서 '최근 받은 피드백' 표에서 고친 것과 같은 어긋남이다) */
@media(min-width:761px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-action{grid-column:auto!important;}
}

/* =====================================================================
 * [2026-08-19] '최근 받은 피드백' 표 — 요약 칸 복원 + 자간 여유
 * ---------------------------------------------------------------------
 * 표가 한 줄을 다 쓰게 되면서(PR #8) 다섯 칸이 넉넉히 들어간다. 앞서 폭이
 * 모자라 뺐던 '핵심 요약'을 되살린다. 좁은 화면(760px 이하)에서는 그대로 숨긴다.
 *
 * 자간은 이 표만 사이트 기본값(-.018em)보다 살짝 넉넉하게 준다. 표는 훑어 읽는
 * 곳이라 글자가 붙어 있으면 눈이 걸린다. 값은 본문 규칙(html body ... .portal-main *)
 * 보다 뒤에 오고 !important 라 이쪽이 이긴다.
 * ===================================================================== */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-table-head,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-table-head>*,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-history-row>summary>*,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-history-link>a>*{
  letter-spacing:.01em!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-history-summary{
  min-width:0!important;color:#7b8598!important;font-size:14px!important;font-weight:500!important;
  line-height:1.35!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  display:block!important;
}
/* 좁은 화면에서는 4칸으로 돌아가므로 요약을 숨긴다(그대로 두면 칸이 밀린다). */
@media(max-width:760px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-history-summary{display:none!important;}
}

/* [2026-08-19] 요약 카드 둘을 언제 위아래로 접을지 — 실측으로 정한 값.
   좌우로 앉히면 각 카드가 화면의 절반이다. 카드 안에는 지표 상자가 셋이라
   카드가 430px 아래로 내려가면 'AI 한줄평'이 100px 남짓이 되어 넉 줄로 쪼개진다.
   본문 폭이 약 900px(화면 1080px) 아래면 그 지경이 되므로 그 밑에서는 접는다.
     1080px 위: 좌우 (한줄평 173~300px · 2~3줄)
     1080px 아래: 위아래 (한줄평 286px 안팎 · 2줄) */
@media(max-width:1080px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-summary-column{grid-template-columns:1fr!important;}
}

/* [2026-08-19] 1일·14일 요약 카드 높이 맞춤.
   좌우로 앉히면 두 카드의 내용 길이가 달라 아래가 들쭉날쭉했다.
   그냥 늘이기만 하면 짧은 카드 밑에 빈 공간이 생기므로(앞서 없앤 그 문제다),
   카드를 세로 flex 로 만들고 버튼에 margin-top:auto 를 줘 바닥에 붙인다.
   → 카드 위·아래·버튼 줄이 모두 맞는다. 한 줄로 접히면 stretch 가 무의미해져
   자연히 원래대로 각자 높이를 쓴다. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-summary-column{align-items:stretch!important;}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-card,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-card{
  display:flex!important;flex-direction:column!important;height:auto!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-full-button{margin-top:auto!important;}
/* 안쪽 지표 상자도 서로 높이를 맞춰 바닥선을 하나로 만든다. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat-grid,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-grid{align-items:stretch!important;}

/* [2026-08-19] '오류 요약' 숫자 줄 맞춤.
   '오자 0' 과 '띄어쓰기 0' 처럼 라벨 길이가 달라 숫자가 들쭉날쭉했다.
   각 칸을 좌우 정렬(라벨 왼쪽 · 숫자 오른쪽)로 만들어 숫자를 한 줄에 세운다. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-error-pairs>span{
  display:flex!important;align-items:baseline!important;justify-content:space-between!important;
  gap:8px!important;min-width:0!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-error-pairs b{margin-left:0!important;}

/* 칸이 좁아지면 두 줄이 아니라 네 줄로 쌓는다.
   auto-fit 을 쓰면 넓은 화면에서 3~4칸으로 퍼져 2×2 모양이 깨지므로,
   '오류 요약' 상자 자체를 기준으로 재는 컨테이너 질의를 쓴다.
   (가장 긴 '띄어쓰기 0' 이 67px 필요 → 두 칸이면 최소 150px)
   컨테이너 질의를 모르는 브라우저에서는 위의 2칸 규칙이 그대로 남는다. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat{container-type:inline-size;}
@container (max-width:150px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-error-pairs{grid-template-columns:1fr!important;}
}

/* =====================================================================
 * [2026-08-19] 요청 네 건
 * ===================================================================== */

/* ① 파일 표에 오류 개수 칸을 되살렸다. 파일명 뒤로 넓게 비어 있던 자리를 쓴다. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-error-summary{
  min-width:0!important;color:#7b8598!important;font-size:14px!important;font-weight:500!important;
  line-height:1.3!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  text-align:left!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-error-summary b{
  color:#3f4a5e!important;font-weight:700!important;
}

/* ② 파일 표 위 필터 줄(전체·피드백 가능·피드백 완료·기간 선택)을 약 20% 줄인다.
      표 안이 아니라 조작 줄이라, 본문 위계보다 한 단 낮아도 읽는 데 지장이 없다. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-filter-chip{
  height:31px!important;min-height:31px!important;padding:0 11px!important;font-size:13px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-range-select select{
  height:31px!important;min-height:31px!important;padding:0 28px 0 11px!important;font-size:13px!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-file-toolbar{gap:8px!important;margin-bottom:11px!important;}

/* ③ '현재 상태' 카드의 큰 값(0% · 정확도 유지 · 대기 · 2개)에 무게를 조금 더 준다.
      위계표의 700 → 750. 카드 제목(700)보다 살짝 굵어 수치가 먼저 읽힌다. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-stats b{font-weight:700!important;}

/* ④ 표 제목줄(연습일·파일명·… / 날짜·유형·…) 글자를 진하게.
      #98a2b3 은 배경과 붙어 칸 구분이 잘 안 됐다. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head>*,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-table-head,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-feedback-table-head>*{
  color:#5b6579!important;font-weight:700!important;
}

/* 좁은 화면(760px 이하)의 파일 행 — 한 줄에 일곱 칸은 물리적으로 안 들어간다.
   (고정 칸만 502px + 간격 54px = 556px 이라 640px 화면에서 파일명이 24px 로 눌렸다)
   세 줄로 접어 쌓고, 오류 개수는 한 줄을 다 쓰게 한다.
   위쪽 @media(max-width:1380px) 의 7칸 규칙이 여기까지 내려오므로 !important 로 덮는다. */
@media (max-width:760px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
    grid-template-columns:58px 58px minmax(0,1fr) 108px!important;
    grid-template-areas:"date date title action" "type grade score action" "errors errors errors action"!important;
    column-gap:8px!important;row-gap:6px!important;
  }
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-date{grid-area:date!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-main{grid-area:title!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-type{grid-area:type!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-grade{grid-area:grade!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-score{grid-area:score!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-error-summary{grid-area:errors!important;text-align:left!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-status-action{grid-area:action!important;align-self:center!important;}
}

/* 세로로 접힌 행에는 표 제목줄이 맞지 않는다. 760px 이하에서 확실히 숨긴다.
   (기본 규칙에 display:none 이 있으나 이 파일의 !important 규칙이 이겨 계속 보였다) */
@media (max-width:760px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-table-head{display:none!important;}
}
/* 아주 좁은 화면(430px 이하)에서는 버튼까지 한 줄에 두면 파일명이 22px 로 눌린다.
   버튼을 제 줄로 내려 파일명에 폭을 돌려준다. */
@media (max-width:430px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-record-item{
    grid-template-columns:58px 58px minmax(0,1fr)!important;
    grid-template-areas:"date date title" "type grade score" "errors errors errors" "action action action"!important;
  }
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-file-status-action{justify-content:stretch!important;}
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.primary,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list button.portal-btn.secondary,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-btn.primary,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-list .portal-btn.secondary{
    width:100%!important;max-width:100%!important;
  }
}

/* [2026-08-19] 파일별 피드백 대상이 아닌 기록(재테·보고치기)이 왜 목록에 없는지 알린다.
   제보: "재테 피드백이 사라졌다" — 실제로는 종합 피드백에 반영되지만 화면에 설명이 없었다. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-note{
  margin:0 0 10px!important;padding:10px 12px!important;
  border:1px solid #e6e2fb!important;border-radius:11px!important;background:#faf9ff!important;
  color:#5b5570!important;font-size:14px!important;font-weight:500!important;
  line-height:1.7!important;letter-spacing:.01em!important;word-break:keep-all!important;
}
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-room-file-note b{color:#4a3ad4!important;font-weight:700!important;}

/* [2026-08-27] 14일 요약 카드가 좁은 화면에서 글자를 상자 밖으로 흘리던 것.
 *
 *   이 카드는 '평균 정확도 / 그래프 / AI 한마디' 세 칸을 옆으로 늘어놓는데,
 *   그 세 칸 배치가 !important 로 못 박혀 있어서 휴대폰에서도 그대로 세 칸이었다.
 *   첫 칸이 45~58px 밖에 안 되는데 '평균 정확도' 는 67px 가 필요해,
 *   글씨가 상자를 뚫고 나왔다. '비교 대기' 도 같이 삐져나왔다.
 *     390px  칸 58px · 글 67px      360px  칸 53px      320px  칸 45px
 *   넓은 화면(1280px)에서도 첫 칸이 82px 라 조금 넘쳤다.
 *
 *   ① 좁은 화면에서는 세 칸을 위아래로 쌓는다.
 *   ② 작은 이름표는 자리가 모자라면 줄을 바꾼다(낱말은 안 쪼갠다).
 *      숫자(strong)와 증감 표시는 그대로 한 줄로 둔다 — 줄바꿈되면 오히려 읽기 나쁘다. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-score>span,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-comment>span,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-mini-label{
  white-space:normal!important;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
@media (max-width:760px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-grid{
    grid-template-columns:1fr!important;
  }
}


/* [2026-08-26] 휴대폰에서 AI 선생님 화면 글자가 상자 밖으로 삐져나오던 것.
   이 파일 뒷부분은 넓은 화면 기준 모양을 그대로 맞추려고 white-space:nowrap 과
   '지표 3칸' 격자를 !important 로 못박아 두었다. 그런데 위쪽
   @media (max-width:760px) 의 '한 칸으로 접기' 규칙에는 !important 가 없어,
   휴대폰에서도 3칸이 그대로 남았다.
   그 결과 320px 화면에서 지표 상자가 70·82·86px 밖에 안 되는데 글은 한 줄로
   묶여 있어, '합격 기준 90%' 가 상자 밖으로 45px, 오늘의 과제 설명이 85px,
   현재 상태의 코치 한마디가 136px 까지 삐져나왔다(측정값).
   좁은 화면에서는 원래 뜻대로 한 칸으로 접고, 글은 낱말 단위로 줄을 바꾸게 한다.
   잘라내기(…)도 함께 푼다 — 이 글들은 잘리면 뜻이 사라지는 문장이다. */
@media (max-width:760px){
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat-grid{
    grid-template-columns:1fr!important;
  }
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-hero-copy>span,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-card>h2,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-archive-head h2,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-card-title p,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-judgement p,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-stats em,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-current-stats small,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat>span,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat>strong,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat>small,
  html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-pass-chip{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:keep-all;
    overflow-wrap:anywhere;
  }
}

/* [2026-08-26] 노트북 폭(1060~1390px)에서 요약 카드 속 설명이 잘리거나
   삐져나오던 것. 이 폭에서는 왼쪽 차림표가 자리를 차지하면서 요약 카드 둘이
   가로를 나눠 쓰는데, 안쪽 지표 상자가 100~160px 까지 좁아진다.
   그런데 아래 세 글은 한 줄로 못박혀 있어
   '오자 비중이 가장 높아요.' 는 1100~1390px 내내 '…' 로 잘렸고(뜻이 사라진다),
   '합격 기준 90%' 와 '비교 대기' 는 상자 밖으로 14px, 13px 나갔다(측정값).
   폭을 정해 놓고 접는 대신, 그냥 '안 들어가면 줄을 바꾼다' 로 되돌린다.
   넓은 화면에서는 한 줄에 들어가므로 줄바꿈이 일어나지 않아 모양이 그대로다. */
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-daily-stat>small,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-pass-chip,
html body.ai-teacher-page-body .ai-feedback-hub-v2 .ai-hub-growth-score .ai-summary-delta{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:keep-all;
  overflow-wrap:anywhere;
}

/* [2026-09-08] 오늘 약점 모아 받기
   오타는 이미 오답노트에 쌓이지만, 학생이 원하는 것은 '내 약점을 내 연습
   파일로 만들어 가는 것'이다. 받은 파일은 랜덤연습에 그대로 올릴 수 있다. */
.ai-weak-download { padding: 20px 22px; }
.ai-weak-download[hidden] { display: none !important; }
.ai-weak-head { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px 14px; margin-bottom: 15px; }
.ai-weak-head > div { flex: 1 1 260px; min-width: 0; }
.ai-weak-head h2 { margin: 0 0 4px; }
.ai-weak-head p { margin: 0; color: #6b7183; font-size: 13.5px; line-height: 1.6; }
.ai-weak-head b { color: #4529ce; font-weight: 700; }
.ai-weak-date { flex: none; padding: 4px 10px; border-radius: 999px; background: #f0ecff;
  color: #4529ce; font-size: 12.8px; font-weight: 700; font-variant-numeric: tabular-nums; }

.ai-weak-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; }
.ai-weak-btn { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px 16px;
  border: 1px solid #e3e0f7; border-radius: 14px; background: #fbfaff; cursor: pointer;
  font-family: inherit; text-align: left; transition: background .15s, border-color .15s; }
.ai-weak-btn:hover:not(:disabled) { background: #f3f0ff; border-color: #c9bfff; }
.ai-weak-btn:focus-visible { outline: 2px solid #5b3df0; outline-offset: 2px; }
.ai-weak-btn:disabled { opacity: .55; cursor: default; }
.ai-weak-ico { flex: none; display: grid; place-items: center; width: 38px; height: 38px;
  border-radius: 11px; background: #fff; color: #5b3df0; font-size: 17px; }
.ai-weak-copy { flex: 1 1 auto; min-width: 0; }
.ai-weak-copy b { display: block; margin-bottom: 3px; color: #22273a; font-size: 14.5px; font-weight: 800; }
.ai-weak-copy small { display: block; color: #7b8296; font-size: 12.8px; line-height: 1.45; }
.ai-weak-note { margin: 12px 0 0; color: #8b90a0; font-size: 12.8px; line-height: 1.6; }
