/* Bar-only outer controls. Exam paper and print typography are unchanged. */
@media screen {
  #modal-bar-config .modal {
    display: flex;
    flex-direction: column;
    max-height: min(88dvh, 820px);
    padding: 0 !important;
    overflow: hidden;
  }
  #modal-bar-config .bar-config-header {
    flex: none;
    padding: 20px 24px 16px;
    border-bottom: 1px solid var(--border, #e2e8f0);
  }
  #modal-bar-config #barConfigTitle { margin: 0 !important; font-size: 20px; }
  #modal-bar-config #barConfigScopeSummary { margin: 8px 0 0; color: #526074; font-size: 13px; line-height: 1.5; word-break: keep-all; }
  #modal-bar-config .bar-year-group { display: flex; flex-wrap: wrap; gap: 6px; width: 100%; }
  #modal-bar-config .bar-year-group-label { width: 100%; color: #526074; font-size: 12px; font-weight: 600; }
  #modal-bar-config .bar-locked-years { width: 100%; border-top: 1px solid #e2e8f0; margin-top: 4px; }
  #modal-bar-config .bar-locked-years > summary { min-height: 44px; box-sizing: border-box; padding: 12px 0; color: #526074; font-size: 13px; font-weight: 600; cursor: pointer; }
  #modal-bar-config .bar-locked-years > summary:focus-visible { outline: 3px solid var(--primary, #2563eb); outline-offset: 2px; }
  #modal-bar-config .bar-year-group--locked { padding-top: 4px; }
  #modal-bar-config .bar-config-body {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 20px 24px;
  }
  #modal-bar-config .bar-config-footer {
    flex: none;
    margin: 0 !important;
    padding: 14px 24px calc(14px + env(safe-area-inset-bottom));
    border-top: 1px solid var(--border, #e2e8f0);
    background: var(--surface, #fff);
  }
  #modal-bar-config button { min-height: 44px; }
  #modal-bar-config .bar-year-chip { display: inline-flex; align-items: center; justify-content: center; gap: 4px; }
  #modal-bar-config button:focus-visible,
  #bscOverlay button:focus-visible,
  .sg-page-nav [data-sg-page-control]:focus-visible {
    outline: 3px solid var(--primary, #2563eb);
    outline-offset: 2px;
  }
  #bscOverlay .bsc-body { min-height: 0; overscroll-behavior: contain; }
  #bscOverlay button { min-height: 44px; }
  #bscOverlay button.bsc-box { width: 44px; height: 44px; }
  #bscOverlay .bsc-x, #bscOverlay .bsc-chev { min-width: 44px; }
  #bscOverlay .bsc-gname { border: 0; background: none; text-align: left; padding: 4px 0; font-family: inherit; }
  #bscOverlay .bsc-ghead { gap: 8px; padding-top: 8px; padding-bottom: 8px; }
  #bscOverlay .bsc-unit { padding-left: 8px; }
  #bscOverlay .bsc-ucnt { flex: none; white-space: nowrap; font-variant-numeric: tabular-nums; }
  #bscOverlay .bsc-gcnt { white-space: nowrap; }
  #sg-study-overlay > .bar-grade-credits {
    display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center;
    column-gap: 16px; row-gap: 6px; flex: none; margin: 0; padding: 8px 16px;
    border-width: 0 0 1px; border-radius: 0;
  }
  #sg-study-overlay > .bar-grade-credits .bar-grade-credits-heading { font-size: 13px; gap: 12px; }
  #sg-study-overlay > .bar-grade-credits .bar-grade-credits-note { margin: 0; font-size: 12px; line-height: 1.5; }
  #sg-study-overlay > .bar-grade-credits .bar-grade-credits-actions { margin: 0; grid-column: 3; grid-row: 1; }
  #sg-study-overlay > .bar-grade-credits .bar-grade-credits-actions button { min-height: 44px; }
  #sg-study-overlay > .bar-grade-credits .bar-grade-credits-rows { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; }
  #sg-study-overlay > .bar-grade-credits[data-allowance-state="ready"] .bar-grade-credits-note { grid-column: 1 / -1; }
  #sg-study-overlay .sg-answer-page-label { white-space: nowrap; }
  #sg-study-overlay .sg-answer-hint { flex-wrap: wrap; gap: 8px !important; padding: 8px 12px !important; }
  #sg-study-overlay .sg-answer-page-label { font-size: 13px !important; }
  #sg-study-overlay #sgCbtPageNav { padding: 0 !important; border: 0 !important; background: transparent !important; }
  #sgCbtPageNav [data-sg-answer-control], #sgAnswerPageNav [data-sg-answer-control],
  .sg-ans-page-nav [data-sg-answer-control] {
    min-height: 40px; padding: 6px 10px; border: 1px solid #c7d1dc; border-radius: 4px;
    background: #fff; color: #253447; font: inherit; font-size: 13px;
  }
  .sg-ans-page-nav [data-sg-answer-control]:disabled, .sg-ans-page-nav [aria-disabled="true"] { opacity: .45; }
  .sg-ans-page-nav [data-sg-answer-control]:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
  #sg-study-overlay #sgCbtSaved { margin-left: auto !important; font-size: 12px !important; color: #526074; }
  .sg-ans-page-saved[data-save-state="error"] { color: #b42318 !important; font-weight: 600; }
  .sg-page-nav {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 0;
    background: transparent;
  }
  .sg-page-nav .sg-page-label { font-size: 13px; font-weight: 600; color: var(--text-2, #475569); }
  .sg-page-nav [data-sg-page-control] {
    min-height: 44px;
    border: 1px solid var(--border, #d1d5db);
    border-radius: 8px;
    background: var(--surface, #fff);
    color: var(--text, #0f172a);
    padding: 8px 12px;
    font: 500 14px Pretendard, "맑은 고딕", "Malgun Gothic", sans-serif;
  }
  .sg-page-nav button:disabled, .sg-page-nav button[aria-disabled="true"] { opacity: .45; cursor: default; }
  @media (max-width: 640px) {
    #modal-bar-config .modal { max-height: 92dvh; }
    #modal-bar-config .bar-config-header { padding: 18px 20px 14px; }
    #modal-bar-config .bar-config-body { padding: 16px 20px; }
    #modal-bar-config .bar-config-footer { padding: 12px 20px calc(12px + env(safe-area-inset-bottom)); }
    #modal-bar-config .bar-config-footer button { min-height: 48px; }
  }
}

@media screen {
.sg-question-jump { display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:0 0 8px; color:#526074; font-size:12px; }
.sg-question-jump[hidden] { display:none; }
.sg-question-jump button, .sg-draft-warning button, .sg-edit-result-notice button { min-height:44px; padding:8px 12px; border:1px solid #c7d1dc; border-radius:6px; background:#fff; color:#253447; font:inherit; cursor:pointer; }
.sg-question-jump button:focus-visible, .sg-draft-warning button:focus-visible, .sg-edit-result-notice button:focus-visible { outline:3px solid #2563eb; outline-offset:2px; }
.sg-question-jump .sg-cbt-munlist-title { width:auto; margin:0 4px 0 0; }
.sg-question-jump p { margin:0 0 0 4px; }
.sg-draft-warning { flex:none; margin:8px 12px; padding:12px; background:#fff7ed; border:1px solid #fdba74; border-radius:6px; color:#9a3412; font-size:13px; }
.sg-draft-warning p { margin:0 0 8px; }
.sg-draft-warning button + button { margin-left:8px; }
.sg-draft-announcement { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.sg-edit-result-notice { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 16px; background:#eff6ff; color:#1e40af; border-bottom:1px solid #bfdbfe; font-size:13px; flex:none; }
#sgMobileHistoryHost button { min-height:48px; }
#sgMobileHistoryHost { min-width:0; overflow-wrap:anywhere; }
}

@media screen {
.sg-mobile-history-only { padding:16px; box-sizing:border-box; }
.sg-mobile-history-only h2 { margin:0 0 8px; font-size:20px; line-height:1.4; }
.sg-mobile-history-only > p { font-size:14px; line-height:1.6; margin:0 0 16px; }
#sgMobileHistoryHost button { min-height:48px !important; padding:10px 14px; border:1px solid #c7d1dc; border-radius:6px; background:#fff; color:#253447; font:inherit; }
#sgMobileHistoryHost button:focus-visible { outline:3px solid #2563eb; outline-offset:2px; }
}

@media screen { #sg-result-overlay .sg-grade-wait-actions button.sg-retry-primary { background:#2451df; color:#fff; border-color:#2451df; } }

@media screen {
#sgViewer .sg-entry .sg-entry-route h2 { font-size:17px; margin:0 0 6px; }
#sgViewer .sg-entry .sg-entry-meta { margin-bottom:8px; font-size:13px; }
#sgViewer .sg-entry-actions { display:flex; flex-wrap:wrap; gap:8px; flex:none; }
#sgViewer .sg-entry .sg-entry-preview { margin:6px 0 0; padding:6px 0; min-height:44px; border:0; background:transparent; color:#2451df; text-decoration:underline; font:inherit; font-size:13px; cursor:pointer; }
#sgViewer .sg-entry > .sg-reference-access { margin:0; padding:20px 0; border:0; border-top:1px solid #dce2e8; border-radius:0; }
.sg-study-navigation { display:flex; align-items:center; flex-wrap:wrap; gap:4px 12px; min-height:60px; }
.sg-study-navigation .sg-page-nav { padding:4px 0; }
.sg-study-navigation .sg-question-jump { margin-left:auto; padding:4px 0; }
.sg-study-navigation .ml-title { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.sg-edit-result-notice small { display:block; margin-top:2px; color:#526074; font-size:12px; }
.sg-time-notice { flex:none; margin:0; padding:10px 16px; border-bottom:1px solid #e2e8f0; background:#fff7ed; color:#9a3412; font-size:13px; }
@media(max-width:1350px) { .sg-study-navigation #sgMunJumpHelp { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); } }
}

@media screen {
#sgViewer .sg-entry > .sg-reference-access { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 24px; background:transparent; }
#sgViewer .sg-entry > .sg-reference-access > p:first-child { margin:0; }
#sgViewer .sg-entry .sg-reference-access-note { grid-column:1 / -1; margin:0; }
#sgViewer .sg-entry [data-sg-reference-open], #sg-result-overlay .sg-reference-access [data-sg-reference-open] { background:#fff; border:1px solid #c7d1dc; color:#253447; }
#sg-study-overlay #sgCbtSaved { flex:1 1 0; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:right; }
@media(max-width:600px) { #sgViewer .sg-entry > .sg-reference-access { grid-template-columns:1fr; } }
}
