/* BI manual: original vector marks; screen colors sampled from its PDF. */
@font-face {
  font-family: "Pretendard";
  src: url("/assets/fonts/PretendardVariable.woff2") format("woff2");
  font-weight: 45 920;
  font-style: normal;
  font-display: swap;
}
:root {
  --bi-deep: #16181d;
  --bi-blue: #62ccf5;
  --bi-gray: #272628;
  --bi-white: #fff;
  --bi-link: #086780;
  --bi-soft: #eaf8fd;
  --ink: var(--bi-deep);
  --muted: #62666e;
  --green: var(--bi-blue);
  --lime: #bceafa;
  --line: #dfe3e6;
  --bg: #f5f6f7;
  --sidebar: var(--bi-deep);
  --portal-blue: var(--bi-blue);
  --portal-deep: var(--bi-deep);
  --portal-bg: var(--bg);
  font-family: "Pretendard", "Malgun Gothic", sans-serif;
  font-size: 14px;
}
body { background: var(--bg); color: var(--ink); font-family: "Pretendard", "Malgun Gothic", sans-serif; font-weight: 500; }
button, input, select, textarea { font-family: inherit; }
h1,h2,h3 { color: var(--ink); letter-spacing: -.035em; }
p { color: var(--muted); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline: 3px solid var(--bi-link); outline-offset: 3px;
}
input[type=checkbox],input[type=radio],progress { accent-color: var(--bi-link); }
.portal-header { background: var(--bi-deep); border-bottom: 3px solid var(--bi-blue); padding-top: 22px; padding-bottom: 22px; }
.portal-brand { flex-direction: column; align-items: flex-start; gap: 10px; padding: 8px 0; }
.portal-brand-logo { display: block; width: 300px; height: auto; }
.portal-brand small { color: #d1d6dd; font-size: 12px; font-weight: 500; letter-spacing: .01em; }
.portal-profile { color: var(--bi-white); background: #24272e; border-color: #434951; border-radius: 10px; }
.portal-profile-avatar { background: var(--bi-blue); color: var(--bi-deep); }
.portal-profile b,.portal-profile-empty b { color: var(--bi-white); }
.portal-profile small { color: #c2c9d2; }
.portal-profile em { color: var(--bi-blue); }
.portal-profile-main:hover,.portal-profile-empty:hover { background: #30343c; }
.portal-profile-logout { border-color: #434951; color: #d9e1e8; }
.portal-profile-empty .portal-profile-avatar { background: #434951; color: #fff; }
.portal-main { padding-top: 36px; }
.portal-hero>div { background: var(--bi-deep); border-radius: 18px; padding: 40px; border-top: 4px solid var(--bi-blue); }
.portal-hero h1 { color: var(--bi-white); font-size: 38px; font-weight: 700; line-height: 1.35; }
.portal-hero p { color: #d5dae1; opacity: 1; }
.portal-hero .eyebrow { color: var(--bi-blue); letter-spacing: .08em; }
.portal-hero aside { border-color: var(--line); border-radius: 18px; border-top: 4px solid var(--bi-blue); }
.eyebrow { color: var(--bi-link); }
.portal-shell .button { background: var(--bi-blue); color: var(--bi-deep); border: 1px solid var(--bi-blue); border-radius: 8px; font-weight: 700; min-height: 40px; box-shadow: none; }
.portal-shell .button:hover { background: #a3e2f9; border-color: #a3e2f9; color: var(--bi-deep); box-shadow: none; }
.portal-shell .button.outline { background: var(--bi-white); color: var(--bi-gray); border-color: #cbd1d6; }
.portal-shell .button.outline:hover { background: var(--bi-soft); border-color: var(--bi-link); }
.portal-shell .button.danger { background: #fff2f0; color: #a42e25; border-color: #da9c96; }
.portal-shell .button.danger:hover { background: #ffe3df; border-color: #a42e25; }
.portal-shell .button:disabled { opacity: .5; cursor: not-allowed; }
.portal-program-card { border-color: var(--line); border-radius: 14px; box-shadow: 0 4px 18px #16181d06; border-top: 3px solid var(--bi-blue); }
.portal-program-card p,.portal-lookup-help,.portal-lookup-item p,.application-summary p { color: var(--muted); }
.portal-program-meta span,.portal-review-meta div,.portal-lookup-empty { background: #f1f3f5; color: var(--bi-gray); }
.portal-program-meta span { border-radius: 6px; }
.panel { border-color: var(--line); border-radius: 14px; box-shadow: none; }
.portal-consent,.application-notice,.template-submission-policy { background: var(--bi-soft); border-color: #b5dce9; color: var(--bi-gray); }
.portal-admin-app-list button { border-color: var(--line); border-radius: 8px; }
.portal-admin-app-list button.active,.template-submission-policy label.selected,.course-option-grid label.selected { background: var(--bi-soft); border-color: var(--bi-link); }
.portal-admin-app-list small,.portal-review-meta dt,.application-program-info dt { color: var(--muted); }
.program-summary-link,.portal-program-summary-link,.program-summary-link.active,.portal-program-summary-link.active { color: var(--bi-link); }
.badge,.badge.blue,.badge.green { background: var(--bi-soft); color: #07556a; }
.badge.gray,.badge.silver { color: #50565e; background: #eef0f2; }
.badge.orange { color: #814415; background: #fff2e3; }
.portal-footer { background: var(--bi-deep); color: #c9d0d9; border-color: #434951; }
.portal-footer p { color: #c9d0d9; }
.portal-footer .portal-admin-link { color: var(--bi-blue); }
.portal-footer-mark { display: block; height: 32px; width: auto; margin: 0 auto 14px; }
.field input,.field select,.field textarea { border-color: #cbd1d6; border-radius: 7px; color: var(--ink); }
.field input:focus,.field select:focus,.field textarea:focus { border-color: var(--bi-link); }
.attachment-picker,.attachment-select { border-color: var(--line); background: #fff; }
.attachment-picker h3 { color: var(--bi-deep); }
.attachment-picker small,.attachment-select span { color: var(--muted); }
.transfer-status { color: var(--bi-deep); border-top: 4px solid var(--bi-blue); }
.transfer-status progress,.application-progress-track i { accent-color: var(--bi-link); background-color: var(--bi-blue); }
.application-progress-track { background: #dcecf2; }
.page-dot.complete { background: var(--bi-link); }
.page-arrow:hover:not(:disabled),.page-arrow:focus-visible { background: var(--bi-soft); border-color: var(--bi-link); }
.template-selection-scope button.active { background: var(--bi-deep); border-color: var(--bi-deep); color: var(--bi-blue); }
.template-preview-heading,.completed-application-heading,.application-template-meta { background: #f3f5f6; border-color: var(--line); }
.application-program-info div { border-color: var(--bi-blue); }
.portal-lookup-item { border-color: var(--line); }
.portal-lookup-item.status-needs_revision { background: var(--bi-soft); border-color: #9acbdc; }
@media(max-width:800px) {
  .portal-header { padding: 16px 18px; gap: 16px; }
  .portal-brand-logo { width: 240px; }
  .portal-hero>div { padding: 28px; }
  .portal-hero h1 { font-size: 30px; }
}
@media(max-width:560px) {
  .portal-header { align-items: flex-start; flex-wrap: wrap; gap: 12px; padding: 14px 16px; }
  .portal-brand { gap: 8px; }
  .portal-brand-logo { width: 230px; }
  .portal-brand small { font-size: 11px; }
  .portal-profile { margin-left: auto; max-width: 100%; }
  .portal-main { padding-top: 24px; }
  .portal-hero h1 { font-size: 28px; }
}
@media print { .portal-header,.portal-footer,.transfer-overlay { display: none; } }
