html body:is([data-s5-page="counseling"], [data-s5-page="documents"], [data-s5-page="parent-messages"], [data-s5-page="help"].student-issue-page, [data-s5-page="notices"], [data-s5-jobs]) {
  --life-action: #087d3c;
  --life-muted: #465b74;
  --life-sky: #d9edfc;
  --life-mint: #e0f5e5;
  --life-lilac: #eee4fc;
  --life-cream: #fcf2e3;
  --life-rule: #c8d5e2;
  background: linear-gradient(#f2f6fc, #fff 670px);
  font-family: Pretendard, "Noto Sans KR", system-ui, sans-serif;
}
:is([data-s5-page]:not([data-s5-page="avatar"]), [data-s5-jobs]) .s5-page-title { margin-block-end: 18px; }
[data-s5-page="counseling"] .s5-page-title { margin: 0; }

[data-s5-page] .s5-life-filters { display: flex; flex-wrap: wrap; gap: 6px; margin-block: 12px 20px; }
[data-s5-page] .s5-life-filters > :is(button, a) {
  min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
  padding: 5px 12px; border: 1px solid var(--life-rule); border-radius: 8px;
  background: white; color: var(--s5-ink); font: inherit; font-weight: 750; text-decoration: none;
}
[data-s5-page] .s5-life-filters > :is([aria-pressed="true"], a:first-child) { background: var(--life-sky); border-color: transparent; }
[data-s5-page] .s5-life-filters > a:nth-child(2) { background: var(--life-mint); border-color: transparent; }
[data-s5-page] :is(.student-document-list-heading h2, .s5-document-detail-stage h2, .student-counseling-compose h2, .student-counseling-label, .student-compose h2, .student-history h2, #studentJobReportTitle, #studentJobPostTitle) {
  display: flex; align-items: center; gap: 12px; color: var(--s5-ink); font-size: clamp(18px, 2vw, 24px);
}
[data-s5-page] :is(.student-document-list-heading h2, .s5-document-detail-stage h2, .student-counseling-compose h2, .student-counseling-label, .student-compose h2, .student-history h2, #studentJobReportTitle, #studentJobPostTitle)::after {
  content: ""; flex: 1; height: 1px; background: var(--life-section-rule, #12aeca);
}
[data-s5-page] :is(.s5-document-detail-stage, .student-history, .student-counseling-compose, [aria-labelledby="studentJobPostTitle"]) { --life-section-rule: #9c70f5; }

[data-s5-page="counseling"] .student-counseling-shell {
  --counsel-line: var(--life-rule); --counsel-text: var(--s5-ink); --counsel-muted: var(--life-muted);
  width: min(920px, 100%); padding: 24px var(--s5-gutter) 40px; color: var(--s5-ink); box-sizing: border-box;
}
[data-s5-page="counseling"] :is(.student-counseling-page-head, .student-counseling-hero-copy img, .student-counseling-hero-copy p) { display: none; }
[data-s5-page="counseling"] :is(.student-counseling-card, .student-counseling-history-card) {
  padding: 0; background: transparent; border: 0; box-shadow: none; border-radius: 0;
}
[data-s5-page="counseling"] .student-counseling-hero { gap: 8px; margin-bottom: 24px; flex-wrap: wrap; }
[data-s5-page="counseling"] :is([id="studentCounselingHistoryOpen"], [id="studentCounselingHistoryClose"], .student-counseling-categories span) {
  color: var(--s5-ink); background: white; border: 1px solid var(--life-rule); border-radius: 8px;
}
[data-s5-page="counseling"] #studentCounselingHistoryOpen strong { background: var(--life-lilac); color: var(--s5-ink); }
[data-s5-page="counseling"] .student-counseling-categories legend { position: absolute; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; }
[data-s5-page="counseling"] .student-counseling-categories span::before {
  content: ""; width: 14px; height: 14px; margin-inline-end: 7px; border-radius: 50%; border: 1px solid #728aa6; box-sizing: border-box;
}
[data-s5-page="counseling"] .student-counseling-categories input:checked + span::before { border: 5px solid #1558ad; }
[data-s5-page="counseling"] .student-counseling-categories input:checked + span { background: var(--life-lilac); color: var(--s5-ink); border-color: #baa1ee; }
[data-s5-page="counseling"] .student-counseling-categories input:focus-visible + span { outline: 2px solid var(--s5-blue); outline-offset: 2px; }
[data-s5-page="counseling"] textarea { background: white; border-color: var(--life-rule); color: var(--s5-ink); border-radius: 8px; }
[data-s5-page="counseling"] .student-counseling-counter { color: var(--life-muted); flex-wrap: wrap; }
[data-s5-page="counseling"] :is(.student-counseling-counter span:first-child, .student-counseling-help[class]) { padding: 9px 12px; border-radius: 7px; background: var(--life-sky); }
[data-s5-page="counseling"] .student-counseling-help[class] { background: var(--life-cream); color: var(--s5-ink); }
[data-s5-page="counseling"] .student-counseling-submit { background: var(--life-action); border-radius: 8px; box-shadow: none; }
[data-s5-page="counseling"] .student-counseling-history-dialog { background: white; color: var(--s5-ink); }
[data-s5-page="counseling"] :is(.student-counseling-history-message, .student-counseling-reply p, .student-counseling-state) { color: var(--s5-ink); }
[data-s5-page="counseling"] .student-counseling-history-card { border-bottom: 1px solid var(--life-rule); padding-block: 12px; }
[data-s5-page="counseling"] .student-counseling-status[data-tone="good"] { color: var(--life-action); }
[data-s5-page="counseling"] .student-counseling-status[data-tone="bad"] { color: #a12636; }

html body[data-s5-page="notices"] .student-notice-shell { display: block; min-height: auto; padding-block: 18px 36px; }
html body[data-s5-page="notices"] .student-notice-layout:not([hidden]) { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 18px; min-height: 0; }
html body[data-s5-page="notices"] :is(.student-notice-list-card, .student-notice-detail-stage, .student-notice-detail) {
  padding: 0; border: 0; box-shadow: none; background: transparent; color: var(--s5-ink); min-height: 0; height: auto; overflow: visible;
}
html body[data-s5-page="notices"] .student-notice-detail-stage { border-inline-start: 1px solid var(--life-rule); padding-inline-start: 18px; }
[data-s5-page="notices"] :is(.student-notice-list-header, .student-notice-student, .student-notice-detail-topbar, .student-notice-list-help) { display: none; }
html body[data-s5-page="notices"] :is(.student-notice-detail-body, .student-notice-detail-header, .student-notice-confirm-bar) {
  padding: 12px 0; background: transparent; border-color: var(--life-rule); overflow: visible;
}
html body[data-s5-page="notices"] :is(.student-notice-list-heading h2, .student-notice-detail-header h2, .student-notice-content, .student-notice-empty h2, .student-notice-confirm-bar strong, .student-notice-attachments h3) { color: var(--s5-ink); }
[data-s5-page="notices"] .student-notice-list-heading h2 { font-size: 20px; }
[data-s5-page="notices"] .student-notice-list-heading { border-block-start: 1px solid #f27783; }
html body[data-s5-page="notices"] .student-notice-message { background: transparent; border: 0; color: var(--life-muted); }
html body[data-s5-page="notices"] .student-notice-message[data-tone="bad"] { color: #a12636; }
html body[data-s5-page="notices"] .student-notice-filters button {
  border: 1px solid var(--life-rule); background: white; color: var(--s5-ink); font-size: 14px; min-height: 44px;
}
html body[data-s5-page="notices"] .student-notice-filters button.is-active { background: var(--life-sky); }
html body[data-s5-page="notices"] .student-notice-list button {
  background: transparent; border: 0; border-bottom: 1px solid var(--life-rule);
  color: var(--s5-ink); border-radius: 0; opacity: 1; padding: 10px;
}
html body[data-s5-page="notices"] .student-notice-list button[data-selected="true"] { background: var(--life-mint); border-inline-start: 3px solid #339df5; }
[data-s5-page="notices"] .student-notice-list-top strong { font-size: 15px; color: var(--s5-ink); white-space: normal; overflow-wrap: anywhere; }
[data-s5-page="notices"] .student-notice-list-top em { color: #155a37; background: var(--life-mint); }
[data-s5-page="notices"] .student-notice-list-button[data-read="false"] .student-notice-list-top em { color: #16427a; background: var(--life-sky); }
[data-s5-page="notices"] :is(.student-notice-meta, .student-notice-list-button > span:last-child, .student-notice-confirm-state) { color: var(--life-muted); font-size: 13px; }
[data-s5-page="notices"] .student-notice-content { font-size: 16px; overflow-wrap: anywhere; }
html body[data-s5-page="notices"] .student-notice-confirm-bar {
  width: 100%; min-height: 0; margin: 16px 0 0; border: 0; border-top: 1px solid var(--life-rule);
}
[data-s5-page="notices"] #studentNoticeConfirm { font-size: 15px; background: var(--life-action); color: white; min-height: 44px; border-radius: 8px; box-shadow: none; }
[data-s5-page="notices"] .notice-attachment-card { background: white; border-color: var(--life-rule); color: var(--s5-ink); }
[data-s5-page="notices"] #s5NoticeBack { display: none; }

html body[data-s5-page="documents"] {
  --text: var(--s5-ink); --sub: var(--life-muted); --border: var(--life-rule); --card: white; --card-soft: white; --primary: var(--life-action);
}
[data-s5-page="documents"] .student-document-shell { width: min(1400px, 100%); padding: 20px var(--s5-gutter) 36px; box-sizing: border-box; }
[data-s5-page="documents"] :is(.student-document-intro, .student-document-top-bar, .student-document-list-heading label) { display: none; }
[data-s5-page="documents"] .student-document-status-banner { padding: 5px 0; border: 0; background: transparent; box-shadow: none; margin: 0; }
[data-s5-page="documents"] .student-document-status-banner p[data-tone="bad"] { color: #a12636; }
[data-s5-page="documents"] .s5-document-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
[data-s5-page="documents"] .s5-document-detail-stage { border-inline-start: 1px solid var(--life-rule); padding-inline-start: 18px; }
[data-s5-page="documents"] .s5-document-detail-stage h2 { margin: 0 0 12px; }
[data-s5-page="documents"] .student-document-list { gap: 0; }
[data-s5-page="documents"] .student-document-card { border: 0; border-bottom: 1px solid var(--life-rule); border-radius: 0; box-shadow: none; background: transparent; padding: 0; transform: none; }
[data-s5-page="documents"] .student-document-card-header { padding: 8px; min-height: 58px; align-items: center; color: var(--s5-ink); }
[data-s5-page="documents"] .student-document-card-header[aria-expanded="true"] { background: #edf5fc; }
[data-s5-page="documents"] .student-document-detail { padding: 12px 8px; margin: 0; border: 0; }
[data-s5-page="documents"] .student-document-detail h3 { margin: 0; font-size: 22px; overflow-wrap: anywhere; }
[data-s5-page="documents"] .s5-document-method { padding: 5px 10px; border-radius: 6px; background: var(--life-sky); width: fit-content; }
[data-s5-page="documents"] .student-document-badge[data-tone="missing"] { background: var(--life-cream); color: #7e4907; }
[data-s5-page="documents"] .student-document-badge[data-tone="pending"] { background: var(--life-sky); color: #124c87; }
[data-s5-page="documents"] .student-document-badge[data-tone="checked"] { background: var(--life-mint); color: #145b37; }
[data-s5-page="documents"] .student-document-badge:is([data-tone="required"], [data-tone="deadline"]) { background: var(--life-lilac); color: var(--s5-ink); }
[data-s5-page="documents"] .student-document-actions { display: flex; }
[data-s5-page="documents"] .student-document-submit { flex: 1; }

[data-s5-page="parent-messages"] .student-parent-messages-shell { width: min(1140px, 100%); box-sizing: border-box; padding: 22px var(--s5-gutter) 36px; }
[data-s5-page="parent-messages"] :is(.student-parent-messages-header, .student-parent-messages-panel, .student-parent-thread) {
  border: 0; box-shadow: none; border-radius: 0; background: transparent; padding: 0;
}
[data-s5-page="parent-messages"] .student-parent-messages-header { border-bottom: 1px solid #9c70f5; }
[data-s5-page="parent-messages"] .student-parent-messages-header > div:first-child > :is(p, small),
[data-s5-page="parent-messages"] .student-parent-messages-header > div:last-child { display: none; }
[data-s5-page="parent-messages"] #studentParentMessagesStatus { color: var(--life-muted); }
[data-s5-page="parent-messages"] .student-parent-messages-list { display: block; }
[data-s5-page="parent-messages"] .student-parent-thread { border-bottom: 1px solid var(--life-rule); padding: 12px 0; }
[data-s5-page="parent-messages"] .student-parent-thread-head { align-items: center; gap: 8px; }
[data-s5-page="parent-messages"] .student-parent-thread-head h2 { color: var(--s5-ink); font-size: clamp(16px, 1.8vw, 22px); }
[data-s5-page="parent-messages"] .student-parent-source { background: var(--life-lilac); color: var(--s5-ink); }
[data-s5-page="parent-messages"] .student-parent-original { min-height: 44px; color: var(--s5-ink); background: white; border-color: var(--life-rule); }
[data-s5-page="parent-messages"] :is(.student-parent-thread-meta, .student-parent-original, .student-parent-comment header, .student-parent-reactions span) { font-size: 13px; }
[data-s5-page="parent-messages"] .student-parent-comment p { font-size: 16px; }
[data-s5-page="parent-messages"] .student-parent-comment { background: var(--life-mint); color: var(--s5-ink); border: 0; margin-bottom: 8px; }
[data-s5-page="parent-messages"] .student-parent-preview { padding-inline: 0; border: 0; background: transparent; color: var(--life-muted); }
[data-s5-page="parent-messages"] :is(.student-parent-comments, .student-parent-reactions):empty { display: none; }

html body[data-s5-page="help"] .student-issue-shell { width: 100%; margin: 0 auto; height: auto; padding-block: 18px 36px; background: transparent; }
html body[data-s5-page="help"] .student-issue-main { margin: 0; padding: 0; min-height: 0; background: transparent; border: 0; box-shadow: none; overflow: visible; }
[data-s5-page="help"] .student-issue-main::before { content: none; }
[data-s5-page="help"] .student-issue-head { padding: 0; gap: 10px; }
[data-s5-page="help"] .student-issue-head h1 { margin: 0 0 12px; font-size: var(--s5-title); }
[data-s5-page="help"] .student-issue-head > div:last-child > span { display: none; }
[data-s5-page="help"] #studentIssueLogout { min-height: 44px; border-color: var(--life-rule); background: white; font-size: 13px; }
[data-s5-page="help"] :is(.student-safe-note, .student-issue-message) { font-size: 13px; }
[data-s5-page="help"] .student-issue-message:empty { display: none; }
[data-s5-page="help"] .student-issue-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
[data-s5-page="help"] .s5-help-tabs { display: none; }
[data-s5-page="help"] :is(.paper-card, .student-issue-detail, .student-issue-list, .student-status-flow) {
  min-width: 0; min-height: 0; border: 0; border-radius: 0; box-shadow: none; padding: 0; background: transparent; color: var(--s5-ink);
}
[data-s5-page="help"] .student-history { border-inline-start: 1px solid var(--life-rule); padding-inline-start: 16px; }
[data-s5-page="help"] .student-issue-list button { background: transparent; border-block-end: 1px solid var(--life-rule); }
[data-s5-page="help"] .student-issue-list button.is-selected { background: var(--life-sky); box-shadow: none; }
[data-s5-page="help"] :is(.student-compose textarea, .student-reply textarea) { min-height: 110px; border-color: var(--life-rule); font-size: 15px; }
[data-s5-page="help"] .student-reply textarea { min-height: 60px; }
[data-s5-page="help"] .student-compose :is(legend, label > span), [data-s5-page="help"] .student-detail-head h3 { font-size: 16px; }
[data-s5-page="help"] :is(.student-compose footer strong, .student-thread p, .student-issue-list strong, .student-detail-description) { font-size: 14px; overflow-wrap: anywhere; }
[data-s5-page="help"] :is(.student-issue-list small, .student-thread strong, .student-thread time, .student-detail-head p) { font-size: 12px; }
[data-s5-page="help"] .symptom-buttons label { border-color: var(--life-rule) !important; font-size: 13px; }
[data-s5-page="help"] .symptom-buttons label:has(input:focus-visible) { outline: 2px solid var(--s5-blue); }
[data-s5-page="help"] .s5-report-diagnostic { padding: 0 12px; background: #edf4fc; border-radius: 8px; overflow-wrap: anywhere; }
[data-s5-page="help"] .s5-report-diagnostic summary { min-height: 44px; padding-block: 11px; box-sizing: border-box; font-weight: 750; cursor: pointer; }
[data-s5-page="help"] .s5-report-diagnostic dl > div { display: grid; grid-template-columns: 5em minmax(0,1fr); padding: 4px 0; border-top: 1px solid var(--life-rule); }
[data-s5-page="help"] .s5-report-diagnostic dd { margin: 0; }
[data-s5-page="help"] .student-compose footer { grid-template-columns: repeat(2, minmax(0, 1fr)); border-color: var(--life-rule); }
[data-s5-page="help"] .student-compose footer strong { grid-column: 1/-1; }
[data-s5-page="help"] :is(.student-compose footer button, .student-issue-detail button) { border-color: var(--life-rule); }
[data-s5-page="help"] :is(.student-compose footer, .student-issue-detail) button.send { background: var(--life-action); color: white; }
[data-s5-page="help"] .student-status-flow { padding-top: 12px; border-top: 1px solid var(--life-rule); }

html body[data-s5-jobs] #studentEconomyWorkspace:not([hidden]) { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 12px 20px; }
[data-s5-jobs] #studentEconomyWorkspace > :is(h1, div, [data-economy-view-back]) { grid-column: 1/-1; }
[data-s5-jobs] #studentEconomyWorkspace > .student-wallet-card:not([hidden]) { min-width: 0; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
[data-s5-jobs] #studentEconomyWorkspace > [aria-labelledby="studentJobPostTitle"] { border-inline-start: 1px solid var(--life-rule); padding-inline-start: 18px; }
[data-s5-jobs] .student-wallet-name { display: flex; align-items: center; gap: 8px; }
[data-s5-jobs] .student-wallet-name > div { flex: 1; }
[data-s5-jobs] .student-wallet-name button { flex: 0 0 auto; min-height: 44px; }
[data-s5-jobs] #s5JobNext .economy-job-quest-link { display: flex; width: 100%; margin: 0; justify-content: center; }
[data-s5-jobs] .avatar-store-mobile-back { display: none; }
[data-s5-jobs][data-s5-job-quest-report] [data-economy-view-back],
[data-s5-jobs] #studentJobPostStatus:empty { display: none; }
[data-s5-jobs] .student-token-main { padding-block-start: 12px; }
[data-s5-jobs] .student-wallet-name > div > span:empty { display: none; }
[data-s5-jobs] .s5-job-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 18px; padding-block: 12px; border-block-end: 1px solid var(--life-rule); }
[data-s5-jobs] #studentJobName { background: var(--life-cream); color: var(--s5-ink); border-radius: 7px; padding: 7px 10px; font-size: clamp(18px, 2vw, 24px); }
[data-s5-jobs] #studentJobPay { margin: 0; color: var(--life-muted); }
[data-s5-jobs] #s5JobReview { background: var(--life-cream); color: #754200; border-radius: 6px; padding: 4px 8px; }
[data-s5-jobs] :is(.economy-job-post-card, .economy-job-report) { background: transparent; border-color: var(--life-rule); box-shadow: none; }
[data-s5-jobs] .economy-job-post-card { border: 0; border-bottom: 1px solid var(--life-rule); border-radius: 0; padding: 8px 0; }
[data-s5-jobs] :is(.student-login-submit, .economy-job-quest-link) { background: var(--life-action); color: white; border-radius: 8px; box-shadow: none; }
[data-s5-jobs][data-s5-job-quest-report] :is(.economy-reflection, #studentJobSave) { display: none; }
[data-s5-jobs] #s5JobReflectionSummary { white-space: pre-wrap; overflow-wrap: anywhere; }

@media (max-width: 719px) {
  [data-s5-page="counseling"] .student-counseling-shell { padding-top: 18px; }
  [data-s5-page="counseling"] .student-counseling-categories { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  [data-s5-page="counseling"] .student-counseling-categories label:last-child { grid-column: 1/-1; }
  [data-s5-page="counseling"] .student-counseling-categories span { width: 100%; box-sizing: border-box; white-space: normal; }
  [data-s5-page="counseling"] .student-counseling-compose textarea { min-height: 130px; }
  html body[data-s5-page="notices"] .student-notice-layout:not([hidden]) { grid-template-columns: minmax(0,1fr); }
  html body[data-s5-page="notices"] .student-notice-detail-stage { border: 0; padding: 0; }
  [data-s5-page="notices"] .student-notice-layout:not([data-s5-notice-open]) .student-notice-detail-stage,
  [data-s5-page="notices"] .student-notice-layout[data-s5-notice-open] .student-notice-list-card { display: none; }
  [data-s5-page="notices"] #s5NoticeBack { display: inline-flex; align-items: center; min-height: 44px; border: 0; background: transparent; color: var(--s5-blue); font: inherit; font-weight: 750; }
  [data-s5-page="documents"] .s5-document-columns { display: block; }
  [data-s5-page="documents"] .s5-document-detail-stage { display: none; }
  [data-s5-page="documents"] .s5-life-filters > button { flex: 1 1 auto; padding-inline: 7px; font-size: 13px; }
  [data-s5-page="documents"] .student-document-card-header { align-items: flex-start; flex-wrap: wrap; gap: 6px; }
  [data-s5-page="documents"] .student-document-badges { justify-content: flex-start; }
  [data-s5-page="help"] .student-issue-layout { grid-template-columns: minmax(0,1fr); gap: 6px; margin-top: 8px; }
  [data-s5-page="help"] .s5-help-tabs { display: flex; margin-bottom: 8px; }
  [data-s5-page="help"] .s5-help-tabs > button { flex: 1; }
  [data-s5-page="help"] .student-issue-layout:not([data-s5-help-view="history"]) .student-history,
  [data-s5-page="help"] .student-issue-layout[data-s5-help-view="history"] .student-compose { display: none; }
  [data-s5-page="help"] .student-history { padding: 0; border: 0; }
  [data-s5-page="help"] :is(.student-compose, .student-history) h2 { display: none; }
  html body[data-s5-jobs] #studentEconomyWorkspace:not([hidden]) { grid-template-columns: minmax(0,1fr); }
  [data-s5-jobs] .s5-job-summary { display: grid; gap: 8px; align-items: start; }
  [data-s5-jobs] .s5-job-summary > strong { width: fit-content; }
  [data-s5-jobs] .s5-life-filters > a { flex: 1; }
  [data-s5-jobs] #studentEconomyWorkspace > [aria-labelledby="studentJobPostTitle"] { border: 0; padding: 0; }
}
