
.ess-bridge-member-box{margin:18px 0;padding:18px;background:#fff7ed;border:2px solid #fdba74;border-radius:18px}.ess-bridge-member-box label{display:block;color:#111827;font-weight:900;margin-bottom:8px}.ess-bridge-member-box select{width:100%;padding:13px;border:2px solid #d1d5db;border-radius:13px;background:#fff;color:#111827}
.ess-bridge-save-state{margin-top:12px;padding:12px 14px;border-radius:12px;font-weight:800;display:none}.ess-bridge-save-state.show{display:block}.ess-bridge-save-state.ok{background:#dcfce7;color:#166534}.ess-bridge-save-state.error{background:#fee2e2;color:#991b1b}
.ess-parent-app{font-family:'Pretendard','Noto Sans KR',sans-serif;background:linear-gradient(180deg,#071426,#0d2038);padding:58px 18px;color:#fff;border-radius:28px}.ess-parent-app *{box-sizing:border-box}.ess-parent-wrap{max-width:1180px;margin:auto}
.ess-parent-hero{background:linear-gradient(135deg,#111827,#303642);padding:40px 34px;border-radius:28px;margin-bottom:22px}.ess-parent-hero span{display:inline-block;background:#ff6b1a;color:#fff;border-radius:999px;padding:8px 14px;font-weight:900}.ess-parent-hero h2{color:#fff!important;font-size:clamp(30px,5vw,48px);margin:14px 0 10px}.ess-parent-hero p{color:#e5e7eb;line-height:1.75}
.ess-parent-filter{background:#fff;color:#111827;border-radius:22px;padding:20px;margin-bottom:20px;display:flex;align-items:end;gap:12px;flex-wrap:wrap}.ess-parent-filter label{font-weight:900}.ess-parent-filter select{min-width:280px;padding:12px;border:2px solid #d1d5db;border-radius:12px}.ess-parent-filter button,.ess-chat-form button{border:0;background:linear-gradient(135deg,#ff6b1a,#ff9b45);color:#fff;border-radius:13px;padding:13px 18px;font-weight:900;cursor:pointer}
.ess-parent-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.ess-summary-card{background:#fff;color:#111827;border-radius:22px;padding:22px}.ess-summary-card strong{display:block;color:#ff6b1a;font-size:36px;margin-top:7px}
.ess-parent-list{display:grid;gap:20px}.ess-report-card{background:#fff;color:#111827;border-radius:25px;padding:25px}.ess-report-head{display:flex;justify-content:space-between;gap:15px}.ess-report-date{color:#ea580c;font-weight:900}.ess-report-title{font-size:24px;margin:5px 0}.ess-report-grade{background:#111827;color:#fff;border-radius:14px;padding:11px 14px;white-space:nowrap;font-weight:900}
.ess-score-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:17px 0}.ess-score-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:13px;padding:12px;text-align:center}.ess-score-box b{display:block;color:#ea580c}
.ess-report-section{margin-top:14px;padding:16px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:15px}.ess-report-section h4{margin:0 0 7px}.ess-report-section p{margin:0;white-space:pre-line;line-height:1.75}.ess-report-section.corrected{background:#fff7ed;border:2px solid #fed7aa}
.ess-chat-area{margin-top:18px;padding-top:18px;border-top:2px solid #e5e7eb}.ess-message-list{display:grid;gap:9px;margin-bottom:12px}.ess-message{max-width:82%;padding:11px 13px;border-radius:14px}.ess-message.parent{background:#eff6ff;color:#1e3a8a}.ess-message.teacher{background:#fff7ed;color:#9a3412;margin-left:auto}.ess-message small{display:block;margin-top:5px;opacity:.7}.ess-chat-form{display:flex;gap:10px}.ess-chat-form textarea{flex:1;min-height:74px;padding:11px;border:2px solid #d1d5db;border-radius:13px}
.ess-bridge-notice{background:#fff;color:#111827;padding:22px;border-radius:18px;text-align:center}
@media(max-width:800px){.ess-parent-summary,.ess-score-row{grid-template-columns:1fr}.ess-report-head,.ess-chat-form{flex-direction:column}.ess-message{max-width:100%}}


/* 카카오톡형 실시간 대화 UI */
.ess-chat-area{
  margin-top:22px;
  border:1px solid #e5e7eb;
  border-radius:20px;
  overflow:hidden;
  background:#f7f8fa;
}
.ess-chat-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#1f2937;
  color:#fff;
  padding:15px 18px;
}
.ess-chat-header h4{
  margin:0;
  color:#fff!important;
  font-size:18px;
}
.ess-chat-live{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  color:#d1fae5;
  font-weight:800;
}
.ess-chat-live::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.18);
}
.ess-message-list{
  height:360px;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:20px 16px;
  margin:0;
  background:#bacee0;
  scroll-behavior:smooth;
}
.ess-chat-row{
  display:flex;
  width:100%;
}
.ess-chat-row.parent{justify-content:flex-start}
.ess-chat-row.teacher{justify-content:flex-end}
.ess-chat-bubble{
  max-width:min(76%,620px);
  border-radius:18px;
  padding:11px 14px 9px;
  box-shadow:0 2px 7px rgba(0,0,0,.09);
  position:relative;
}
.ess-chat-row.parent .ess-chat-bubble{
  background:#fff;
  color:#111827;
  border-top-left-radius:5px;
}
.ess-chat-row.teacher .ess-chat-bubble{
  background:#fee500;
  color:#111827;
  border-top-right-radius:5px;
}
.ess-chat-name{
  display:block;
  font-size:12px;
  font-weight:900;
  margin-bottom:5px;
  color:#475569;
}
.ess-chat-text{
  white-space:pre-wrap;
  word-break:break-word;
  line-height:1.55;
  font-size:15px;
}
.ess-chat-time{
  display:block;
  margin-top:5px;
  font-size:11px;
  color:#64748b;
  text-align:right;
}
.ess-chat-empty{
  margin:auto;
  background:rgba(255,255,255,.78);
  color:#475569;
  border-radius:999px;
  padding:9px 14px;
  font-size:13px;
}
.ess-chat-form{
  display:flex;
  align-items:flex-end;
  gap:10px;
  padding:13px;
  background:#fff;
  border-top:1px solid #e5e7eb;
}
.ess-chat-form textarea{
  flex:1;
  min-height:48px;
  max-height:130px;
  resize:none;
  border:1px solid #cbd5e1;
  border-radius:18px;
  padding:13px 15px;
  font-size:15px;
  line-height:1.5;
  background:#fff;
  color:#111827;
}
.ess-chat-form textarea:focus{
  outline:0;
  border-color:#f4b400;
  box-shadow:0 0 0 3px rgba(244,180,0,.16);
}
.ess-chat-send{
  flex:0 0 auto;
  min-width:82px;
  height:48px;
  border:0;
  border-radius:15px;
  background:#fee500;
  color:#111827;
  font-weight:900;
  cursor:pointer;
}
.ess-chat-send:hover{filter:brightness(.97)}
.ess-chat-status{
  padding:7px 14px 11px;
  background:#fff;
  color:#64748b;
  font-size:12px;
}
@media(max-width:640px){
  .ess-message-list{height:420px;padding:16px 10px}
  .ess-chat-bubble{max-width:88%}
  .ess-chat-form{gap:7px;padding:10px}
  .ess-chat-send{min-width:66px}
}


/* 리포트 삭제 버튼 */
.ess-report-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:14px;
}
.ess-delete-report{
  border:1px solid #fecaca;
  background:#fff1f2;
  color:#be123c;
  border-radius:12px;
  padding:10px 14px;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
  transition:.2s;
}
.ess-delete-report:hover{
  background:#e11d48;
  border-color:#e11d48;
  color:#fff;
  transform:translateY(-1px);
}
.ess-delete-report:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none;
}
@media(max-width:640px){
  .ess-report-actions{justify-content:stretch}
  .ess-delete-report{width:100%}
}
