/* 문항 작업 공간: 왼쪽 문항 목록 + 오른쪽 문항 내용 (학생 작성 화면·교사 과제 등록 화면 공용)
   기존 색상(var(--c-brand), var(--c-primary), var(--c-line), #f5f8fc)과 카드 모양을 그대로 따릅니다. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.qws{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:18px;align-items:start;margin:16px 0}
.qws-nav{position:sticky;top:76px;max-height:calc(100vh - 96px);overflow:auto;margin:0;padding:14px 10px}
.qws-nav-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:0 6px 10px;border-bottom:1px solid #e7edf4;margin-bottom:8px}
.qws-nav-head b{color:var(--c-brand);font-size:15px}.qws-count{font-size:13px;color:#536780;font-variant-numeric:tabular-nums}
.qws-tree,.qws-children{list-style:none;margin:0;padding:0}
.qws-children{margin-left:22px;padding-left:8px;border-left:2px solid #e3eaf3}
.qws-children[hidden]{display:none}
.qws-node{margin:2px 0}
.qws-row{display:flex;align-items:stretch;gap:2px}
.qws-toggle,.qws-toggle-spacer{flex:0 0 26px;width:26px}
button.qws-toggle{min-height:0;padding:0;border:0;background:none;color:#536780;border-radius:6px}
button.qws-toggle:not(:disabled):hover{background:#eef3f9;color:var(--c-brand);border:0}
.qws-caret{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;transition:transform .15s}
.qws-toggle[aria-expanded="false"] .qws-caret{transform:rotate(-90deg)}
button.qws-item{flex:1;min-width:0;min-height:40px;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:7px 9px;border:1px solid transparent;border-radius:8px;background:none;color:var(--c-text);font-weight:500;text-align:left}
button.qws-item:not(:disabled):hover{background:var(--c-soft);border-color:var(--c-line);color:var(--c-text)}
button.qws-item.is-current,button.qws-item.is-current:not(:disabled):hover{background:#eaf2fb;border-color:#9fc1e8;color:var(--c-brand);font-weight:700}
.qws-no{flex:0 0 auto;min-width:28px;padding:2px 6px;border-radius:6px;background:#eef3f9;color:var(--c-brand);font-size:12px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}
.is-current>.qws-no{background:var(--c-primary);color:#fff}
.qws-title{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;line-height:1.4;font-size:14px}
.qws-item .req{flex:0 0 auto}
.qws-sub-count{flex:0 0 auto;font-size:11px;color:#536780;background:var(--c-soft);border:1px solid #e3eaf3;border-radius:999px;padding:1px 7px;font-weight:600}
.qws-state{flex:0 0 10px;width:10px;height:10px;border-radius:50%;border:2px solid #c6d2e0}
.qws-item.is-done .qws-state,.qws-legend-done{background:#1d8a4b;border-color:#1d8a4b}
.qws-legend{margin:12px 6px 0;font-size:12px}.qws-legend-done{display:inline-block;width:9px;height:9px;border-radius:50%;border:2px solid #1d8a4b;vertical-align:middle}
.qws-main{min-width:0}
.qws-main>.qws-panel,.qws-main>.card:first-child,#questionList>.question-editor{margin-top:0}
.qws-ready .qws-panel:not(.is-current){display:none}
.qws-breadcrumb{margin:0 0 6px;font-size:13px;color:#536780}
button.linklike{display:inline;min-height:0;padding:0;border:0;background:none;color:var(--c-primary);font-size:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
button.linklike:not(:disabled):hover{background:none;border:0;color:var(--c-brand)}
.qws-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:14px;border-top:1px solid #e7edf4}
.qws-pager:empty{display:none}.qws-pager .qws-next{margin-left:auto}.qws-pager .qws-pos{font-variant-numeric:tabular-nums}
.qws-pager button{max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}
.qws-pager .qws-to-list{display:none}
.qws-req-left{margin-left:6px;padding:1px 7px;border-radius:999px;background:#fee8e8;color:#9b2424;font-weight:700}.qws-req-left[hidden]{display:none}
.question.is-child{border-left:4px solid #9fc1e8}

/* 제출 도우미 */
.qws-char-count{font-variant-numeric:tabular-nums}.qws-char-count.is-near{color:#a13b18;font-weight:700}
.qws-file-check{margin:8px 0;padding:9px 12px;border-radius:8px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.qws-file-check[hidden]{display:none}.qws-file-check.is-ok{background:#eef8f1;border:1px solid #b9dcc4;color:var(--c-success)}
.qws-file-check.is-bad{background:#fff1f0;border:1px solid #e3a7a1;color:#8f1912;font-weight:650}
.qws-unsaved{margin:14px 0 0;padding:10px 14px;border-radius:8px;background:#fff8e6;border:1px solid #f0d58a;color:#7a5200;font-size:14px;font-weight:600}
.qws-unsaved[hidden]{display:none}

/* 교사 과제 등록: 문항 목록 편집 도구 */
.qws-editor .qws-nav{top:76px}
.qws-nav-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 0;padding-top:10px;border-top:1px solid #e7edf4}

.qws-item.has-error .qws-no,.qws-item.has-error.is-current>.qws-no{background:var(--c-danger);color:#fff}
.qws-item.is-empty .qws-title{color:#8a97a8;font-style:italic}
.qws-kind{flex:0 0 auto;font-size:11px;color:#536780}
.question-toolbar .qws-structure{display:flex;flex-wrap:wrap;gap:6px}
.question-editor.is-sub-question{border-left:4px solid #9fc1e8}
.question-editor .qws-parent-note{margin:4px 0 0;font-size:13px;color:#536780}
#questionList.qws-ready>.question-editor:not(.is-current){display:none!important}


/* 교사 과제 설정: 왼쪽 목차 + 오른쪽 긴 한 페이지 (모든 설정은 숨기지 않고 그대로 펼쳐 둡니다) */
a.qws-item{flex:1;min-width:0;min-height:40px;display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid transparent;border-radius:8px;color:var(--c-text);text-decoration:none;font-weight:500}
a.qws-item:hover{background:var(--c-soft);border-color:var(--c-line)}
a.qws-item.is-current{background:#eaf2fb;border-color:#9fc1e8;color:var(--c-brand);font-weight:700}
a.qws-item:focus-visible{outline:3px solid #9fc1e8;outline-offset:1px}
.qws-step{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef3f9;color:var(--c-brand);font-weight:800;font-size:13px}
.is-current>.qws-step{background:var(--c-primary);color:#fff}
.qws-item.is-done>.qws-step{background:#1d8a4b;color:#fff}
.qws-item.has-error>.qws-step{background:var(--c-danger);color:#fff}
.qws-sub{display:block;font-size:12px;color:var(--c-muted);font-weight:500;margin-top:2px;overflow-wrap:anywhere}
.qws-sub .bad,.qws-actionbar .bad{color:var(--c-danger);font-weight:700}
.qws-actionbar .ok{color:var(--c-success);font-weight:700}
.asg-layout{margin-top:8px}
.asg-toc .qws-tree>.qws-node{margin:3px 0}
.asg-qslot{margin:2px 0 6px 18px}
.qws-nav.asg-in-toc{position:static;max-height:none;overflow:visible;margin:0;padding:4px 0 0;border:0;box-shadow:none;background:none}
.qws-nav.asg-in-toc>.qws-nav-head{display:none}
.qws-nav.asg-in-toc .qws-tree{border-left:2px solid #e3eaf3;padding-left:6px}
.qws-nav.asg-in-toc button.qws-item{min-height:34px;padding:5px 8px}
.qws-nav.asg-in-toc .qws-nav-tools{border-top:0;padding-top:4px;margin-top:4px}
.qws.qws-single{grid-template-columns:minmax(0,1fr)}
.asg-section{scroll-margin-top:84px}
#assignmentForm>.asg-section:first-of-type{margin-top:0}
h3.asg-sub{margin:22px 0 8px;padding-top:14px;border-top:1px solid #e7edf4;color:var(--c-brand);font-size:16px}
h2+h3.asg-sub,h2+.help+h3.asg-sub{border-top:0;padding-top:0;margin-top:10px}
.asg-defaults{margin-top:18px}.asg-defaults p{margin:0 0 6px}
.asg-copybar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px}
.asg-copybar select{width:auto;min-width:220px;max-width:100%;flex:1 1 260px}
.asg-copybar .help{flex-basis:100%;margin:0}
.qws-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}





/* ── 화면 위 메뉴 (학생·교사·관리자 공용) ── */
.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;padding-top:10px;padding-bottom:10px}
.site-header .brand{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:17px;white-space:nowrap}
.brand-mark{display:inline-flex;width:30px;height:30px;border-radius:8px;background:#ffffff1f;align-items:center;justify-content:center}
.site-nav{display:flex;align-items:center;gap:10px;min-width:0}
.site-nav ul{list-style:none;margin:0;padding:0}
.nav-main{display:flex;align-items:center;gap:2px}
.site-nav a,.site-nav summary{display:inline-flex;align-items:center;gap:6px;color:#e8f0fa;text-decoration:none;font-size:15px;font-weight:600;padding:7px 11px;border-radius:8px;white-space:nowrap;cursor:pointer;line-height:1.3}
.site-nav a:hover,.site-nav summary:hover{background:#ffffff1a;color:#fff}
.site-nav a:focus-visible,.site-nav summary:focus-visible,.nav-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}
.nav-main a[aria-current="page"],.site-nav summary.is-current{background:#fff;color:var(--c-brand)}
.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#e5484d;color:#fff;font-size:12px;font-weight:800;line-height:1}
.nav-menu{position:relative}
.nav-menu>summary{list-style:none}.nav-menu>summary::-webkit-details-marker{display:none}
.nav-menu>summary::after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.8;margin-left:2px}
.nav-drop{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:180px;background:#fff;border:1px solid var(--c-line);border-radius:10px;box-shadow:0 10px 28px #0f223a33;padding:6px;display:flex;flex-direction:column}
.nav-drop-right{left:auto;right:0}
.site-nav .nav-drop a{color:var(--c-text);font-weight:600;padding:9px 12px}
.site-nav .nav-drop a:hover{background:#f0f5fb;color:var(--c-brand)}
.site-nav .nav-drop a[aria-current="page"]{background:#eaf2fb;color:var(--c-brand)}
.nav-role{margin:4px 12px 6px;font-size:12.5px;color:var(--c-muted)}
.nav-side{display:flex;align-items:center;gap:4px;padding-left:10px;border-left:1px solid #ffffff33}
.nav-avatar{display:inline-flex;width:26px;height:26px;border-radius:50%;background:#e8f0fa;color:var(--c-brand);align-items:center;justify-content:center;font-size:13px;font-weight:800}
.nav-name{max-width:110px;overflow:hidden;text-overflow:ellipsis}
.site-nav .nav-drop .nav-logout-form{margin:4px 0 0;padding-top:4px;border-top:1px solid #e7edf4}
.site-nav .nav-drop .nav-logout-btn{width:100%;justify-content:flex-start;background:none;border:0;color:var(--c-danger);font-weight:700;padding:9px 12px;border-radius:8px}
.site-nav .nav-drop .nav-logout-btn:hover{background:#fff1f0;border:0}
.nav-toggle{display:none;align-items:center;gap:6px;background:#ffffff1f;border:1px solid #ffffff55;color:#fff;padding:7px 12px;border-radius:8px;font-weight:700}
@media(max-width:1080px){.site-nav a,.site-nav summary{padding:7px 8px;font-size:14px}.nav-name{max-width:72px}}
@media(max-width:900px){
  .nav-toggle{display:inline-flex}
  .site-nav:not(.is-public){display:none;position:absolute;left:0;right:0;top:100%;background:var(--c-brand);border-top:1px solid #ffffff26;box-shadow:0 12px 24px #0003;padding:8px 16px 14px;flex-direction:column;align-items:stretch;gap:6px}
  .site-nav.is-open{display:flex}
  .nav-main{flex-direction:column;align-items:stretch}
  .site-nav a,.site-nav summary{font-size:16px;padding:10px 12px}
  .nav-drop,.nav-drop-right{position:static;box-shadow:none;border:0;background:#ffffff12;margin:2px 0 4px 12px}
  .site-nav .nav-drop a{color:#e8f0fa}.site-nav .nav-drop a:hover{background:#ffffff1a;color:#fff}
  .nav-role{color:#c9d6e6}
  .nav-side{border-left:0;padding-left:0;border-top:1px solid #ffffff26;padding-top:8px;flex-direction:column;align-items:stretch}
  .nav-name{max-width:none}
  .site-nav .nav-drop .nav-logout-btn{color:#ffb4ae}
  .site-header{position:sticky}
}
@media(max-width:900px){.site-nav.is-public .nav-main{flex-direction:row;flex-wrap:nowrap}.site-nav.is-public a{font-size:14px;padding:6px 8px}}
@media(max-width:480px){.brand-text{font-size:14px}.site-header .brand{gap:6px}.brand-mark{width:26px;height:26px}.site-nav.is-public a{font-size:13px;padding:6px 6px}}

/* 관리 화면 공용: 목차가 있는 긴 페이지의 묶음, 상태 타일, 위험 구역 */
.asg-group{scroll-margin-top:84px}
.asg-group>.card:first-child,.asg-layout .qws-main>.asg-group:first-child>.card:first-child{margin-top:0}
.status-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:6px}
.status-tile{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--c-line);border-radius:10px;background:#f8fafd;color:var(--c-text);text-decoration:none}
.status-tile span{font-size:12.5px;color:#536780;font-weight:600}.status-tile b{font-size:19px;color:var(--c-brand)}.status-tile small{font-size:12px;color:var(--c-muted);overflow-wrap:anywhere}
.status-tile.is-bad{background:#fff4f2;border-color:#e3a7a1}.status-tile.is-bad b{color:var(--c-danger)}
a.status-tile:hover{border-color:#9fc1e8}
.card.danger-zone{border-color:#e3a7a1;box-shadow:inset 4px 0 0 var(--c-danger),0 2px 8px #0000000b}
.card.danger-zone>h2::before{content:"주의 · ";color:var(--c-danger)}
.danger-actions{margin-left:auto;padding-left:14px;border-left:1px solid #f0d6d6;display:inline-flex;gap:8px}
details.teacher-create>summary{cursor:pointer;list-style:none}details.teacher-create>summary::-webkit-details-marker{display:none}details.teacher-create[open]>summary{margin-bottom:12px}
.pager-nav{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0}

/* 아래 고정 작업 막대 (교사 저장 · 학생 제출 공용) */
.qws-actionbar{position:sticky;bottom:0;z-index:6;display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:16px 0 0;padding:10px 14px;background:#fffffff2;border:1px solid var(--c-line);border-radius:12px;box-shadow:0 -4px 14px #0000000f}
.qws-actionbar-summary{flex:1 1 260px;min-width:0;font-size:14px;color:#536780;line-height:1.5}
.qws-actionbar-summary b{color:var(--c-brand)}
.qws-actionbar>button{margin:0}
.qws-actionbar button.linklike{font-size:14px}


/* 미리보기·확인 팝업 (공용) */
.qws-modal[hidden]{display:none!important}
.qws-modal{position:fixed;inset:0;z-index:1000;background:rgba(12,24,42,.72);display:flex;align-items:center;justify-content:center;padding:12px}
.qws-modal-content{width:min(1180px,100%);max-height:94vh;overflow:auto;background:var(--c-bg);border-radius:14px;padding:16px 18px;box-shadow:0 24px 70px #1118}
.qws-modal-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;position:sticky;top:-16px;z-index:2;background:var(--c-bg);padding:4px 0 8px;margin-bottom:4px}
.qws-modal-head h2{margin:0;color:var(--c-brand)}.qws-modal-head .qws-modal-close{margin-left:auto}
.qws-modal .qws-nav{position:static;max-height:none}
body.qws-modal-open{overflow:hidden}


/* 학생 과제 목록 */
.home-section-title{margin:22px 0 4px;font-size:18px;color:var(--c-brand);display:flex;align-items:center;gap:6px}
.due-badge{font-weight:700}

/* 알림·피드백·마감 연장 */
input[type=radio]{width:auto}
.status-tools .actions label.compact-check{display:inline-flex;align-items:center;gap:6px;margin:0 12px 0 0}
.notice-list{list-style:none;margin:6px 0 0;padding:0}.notice-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:8px 0;border-top:1px solid #e7edf4}
.notice-list li:first-child{border-top:0}.notice-list .pre{flex:1 1 260px}
.feedback-card{border-left:4px solid #1d8a4b}
.status-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.status-tools-grid h2{margin-top:0;font-size:1.05rem}
.ext-list{max-height:180px;overflow:auto;border:1px solid var(--c-line);border-radius:8px;padding:6px 10px;margin:6px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.ext-list label[hidden]{display:none}.ext-current{margin:8px 0 0;padding-left:18px;font-size:14px}

/* 학생 작성 화면 도우미 */
.qws-deadline{display:inline-block;margin-left:6px;padding:2px 10px;border-radius:999px;background:#e8eef6;color:var(--c-brand);font-size:13px;font-weight:700}
.qws-deadline:empty{display:none}
.qws-deadline.is-soon,.qws-deadline.is-over{background:#fee8e8;color:#9b2424}
#submissionForm .qws-actionbar.submit-actions{flex-wrap:wrap;margin:16px 0 0;padding:10px 14px}
#submissionForm .qws-actionbar.submit-actions button{flex:0 1 auto;min-width:140px}
.qws-actionbar .qws-unsaved{display:inline;margin:0 0 0 6px;padding:2px 8px;font-size:13px}
.qws-actionbar .qws-unsaved[hidden]{display:none}
#qwsSaveState{font-size:13px}#qwsSaveState.is-ok{color:var(--c-success);font-weight:700}#qwsSaveState.is-bad{color:var(--c-danger);font-weight:700}#qwsSaveState.is-saving{color:#536780}
.qws-restore{display:flex;flex-wrap:wrap;align-items:center;gap:8px}

.qws-drop{border:2px dashed #c6d2e0;border-radius:10px;padding:10px 12px;margin:6px 0;background:#fafcff;transition:border-color .15s,background .15s}
.qws-drop.is-over{border-color:var(--c-primary);background:#eaf2fb}
.qws-drop-hint{margin:0 0 6px;font-size:13px;color:#536780}
.qws-drop .qws-camera{margin-top:8px}
.qws-receipt-meta{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:8px 0 14px}
.qws-receipt-meta dt{font-weight:700;color:#536780}.qws-receipt-meta dd{margin:0}
table.qws-receipt-table{min-width:0;width:100%}
.qws-receipt-table td,.qws-receipt-table th{white-space:normal;vertical-align:top;overflow-wrap:anywhere}
.qws-receipt-table tr.is-empty td:last-child{color:#a13b18;font-weight:700}
.qws-confirm{max-width:760px;background:#fff}
.qws-confirm .qws-modal-head{background:#fff}
.qws-confirm-actions{justify-content:flex-end;margin-top:10px}
.qws-deadline-alert{margin:0 0 12px}
@media print{
  body.print-receipt header,body.print-receipt footer,body.print-receipt main>*:not(#submissionForm),body.print-receipt .qws-nav,
  body.print-receipt .qws-panel:not(#qws-receipt),body.print-receipt #submissionForm>*:not(.qws),body.print-receipt .qws-pager,body.print-receipt #printReceipt,body.print-receipt .msg{display:none!important}
  body.print-receipt .qws{display:block}body.print-receipt #qws-receipt{display:block!important;border:0;box-shadow:none}
}

@media(max-width:860px){
  .qws{grid-template-columns:minmax(0,1fr)}
  .qws-nav{position:static;max-height:50vh}
  .qws-pager button{max-width:100%}
  .qws-pager .qws-to-list{display:inline-block;flex-basis:100%}
  .asg-toc{max-height:none}
  .asg-toc .qws-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 6px}
  .asg-toc .qws-legend{display:none}
  .qws-actionbar{padding:8px 10px}
  .qws-actionbar-summary{flex-basis:100%}
}

/* 오른쪽 끝 고정 탭(E1): 넓은 화면에서 저장·제출 막대를 아이콘 + 짧은 글자로 화면 오른쪽 가운데에 붙입니다.
   좁은 화면(휴대폰)에서는 기존처럼 아래 막대로 보입니다. */
.qws-ico,.lbl-short{display:none}
:is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge>.qws-edge-status{display:none}
@media(min-width:861px){
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge{position:fixed;right:0;top:50%;bottom:auto;transform:translateY(-50%);z-index:30;width:64px;margin:0;padding:0;display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;align-items:stretch;background:#fff;border:1px solid var(--c-line);border-right:0;border-radius:12px 0 0 12px;box-shadow:-4px 4px 16px #0000001f}
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge>button{width:100%;min-width:0;min-height:0;margin:0;border:0;border-radius:0;padding:9px 2px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:700;line-height:1.15;flex:none;white-space:nowrap}
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge>button.ghost{background:#fff;color:var(--c-primary);border-bottom:1px solid #e7edf4}
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge>button.secondary{background:var(--c-secondary);color:#fff}
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge>button:not(.ghost):not(.secondary):not(.qws-edge-status){background:var(--c-primary);color:#fff}
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge>button:first-child{border-top-left-radius:12px}
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge>button:last-child{border-bottom-left-radius:12px}
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge>button:hover{filter:brightness(.95)}
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge>button:focus-visible{outline:3px solid #9fc1e8;outline-offset:-3px}
  .qws-edge .qws-ico{display:block}
  .qws-edge .lbl-long{display:none}.qws-edge .lbl-short{display:block}
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge>.qws-edge-status{display:flex;background:#fff;color:var(--c-success);font-size:10.5px;padding:7px 2px 6px;border-bottom:1px solid #e7edf4;white-space:normal;text-align:center;cursor:pointer}
  .qws-edge-status b{font-size:13px;line-height:1}
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge>.qws-edge-status.is-bad{color:var(--c-danger);background:#fff4f2}
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge>.qws-edge-status.is-warn{color:#8a5a00;background:#fff8e6}
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge>.qws-edge-status.is-muted{color:#536780}
  .qws-edge>.qws-actionbar-summary{display:none;position:absolute;right:calc(100% + 8px);top:0;width:290px;flex:none;background:#fff;border:1px solid var(--c-line);border-radius:10px;box-shadow:0 6px 18px #0000002a;padding:10px 12px;font-size:13px;line-height:1.55}
  .qws-edge.is-open>.qws-actionbar-summary,.qws-edge>.qws-edge-status:hover+.qws-actionbar-summary{display:block}
  .qws-edge .qws-unsaved{display:block;margin:6px 0 0}
}
@media(min-width:861px) and (max-width:1340px){body:has(.qws-edge) main.wrap{padding-right:76px}}

@media(max-width:860px){
  /* 휴대폰: 아래 막대를 한 줄로 얇게 */
  .qws-edge .lbl-long{display:none}.qws-edge .lbl-short{display:inline}
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge{flex-wrap:nowrap;gap:6px;padding:6px 8px}
  :is(#submissionForm,#assignmentForm) .qws-actionbar.qws-edge>button{flex:1 1 auto;min-width:0;min-height:var(--control-h);padding:6px 8px;font-size:14px;white-space:nowrap}
  .qws-actionbar.qws-edge>.qws-actionbar-summary{flex:0 1 auto;max-width:32%;font-size:12px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .qws-actionbar.qws-edge .qws-unsaved{display:none}
}
@media(max-width:480px){.qws-actionbar.qws-edge>.qws-actionbar-summary{display:none}}
