/* ==========================================
   인쇄 설정 (Print Styles)
   ========================================== */
@media print {
@page {size: landscape;margin: 8mm;}
.print-fit {zoom: 0.62;}
table {page-break-inside: auto;}
tr, 
.no-break, 
.school-card, 
.feature-card, 
.process-flow, 
.status-card {page-break-inside: avoid;break-inside: avoid;}
thead {display: table-header-group;}
}

/* ==========================================
   기본 레이아웃 & 컨테이너
   ========================================== */
.print-fit {padding: 20px 0;color: #4A5568;}
.section-wrapper {padding: 20px 0;}
.section-wrapper.bg-light {background: #F7F9FC;padding: 20px;border-radius: 8px;}
.margin-top-md {margin-top: 20px;}

/* ==========================================
   헤더 배너 & 소개 카드 (Banners & Intro Cards)
   ========================================== */
.direction-banner {border-left: 3px solid #1A3F6F;background: #E8F0FA;padding: 14px 16px;margin-bottom: 18px;border-radius: 0 6px 6px 0;}
.direction-banner__title {font-size: 12px;font-weight: 800;letter-spacing: .08em;color: #1A3F6F;text-transform: uppercase;margin-bottom: 7px;}
.direction-banner__flow {display: flex;flex-wrap: wrap;align-items: center;gap: 4px;}
.flow-badge {background: #fff;color: #1A3F6F;border: 2px solid #1A3F6F;font-size: 13px;font-weight: 700;padding: 3px 10px;border-radius: 3px;display: inline-block;}
.flow-arrow {color: #E8960C;font-weight: 900;font-size: 15px;}
.intro-card {background: #fff;border: 3px solid #1A3F6F;border-radius: 8px;padding: 20px 24px;margin-bottom: 18px;display: grid;grid-template-columns: 1fr auto;gap: 20px;align-items: center;}
.intro-card__title {font-size: 17px;font-weight: 900;color: #1A3F6F;margin-bottom: 4px;}
.intro-card__desc {font-size: 13px;color: #4A5568;line-height: 1.7;}
.intro-card__desc strong {color: #1A3F6F;}
.stat-group {display: flex;gap: 12px;}
.stat-box {background: #fff;border: 2px solid #E2E8F0;border-radius: 5px;padding: 10px 14px;text-align: center;min-width: 80px;}
.stat-box--highlight {background: #FEF5E3;border-color: #E8960C;}
.stat-box__number {font-size: 21px;font-weight: 900;color: #E8960C;}
.stat-box__label {font-size: 12px;color: #718096;margin-top: 3px;font-weight: 600;}

/* ==========================================
   B.I 다운로드 바 (B.I Download Banner)
   ========================================== */
.bi-banner {border: 1px solid #E2E8F0;border-radius: 6px;padding: 12px 16px;margin-top: 14px;margin-bottom: 18px;display: flex;align-items: center;gap: 14px;background: #fff;}
.bi-banner__img {height: 40px;width: auto;flex-shrink: 0;}
.bi-banner__label {font-size: 12px;font-weight: 700;color: #1C2535;flex: 1;}
.bi-banner__btn {background: #fff;color: #1A3F6F;border: 2px solid #1A3F6F;font-size: 12px;font-weight: 700;padding: 5px 12px;border-radius: 3px;text-decoration: none;display: inline-block;transition: all 0.2s ease;}
.bi-banner__btn:hover {background: #1A3F6F;color: #fff;}

/* ==========================================
   섹션 타이틀 (Section Header)
   ========================================== */
.section-header {display: flex;align-items: center;gap: 10px;margin-bottom: 16px;padding-bottom: 8px;border-bottom: 1.5px solid #E8F0FA;}
.section-number {background: #fff;color: #1A3F6F;font-size: 14px;font-weight: 900;width: 26px;height: 26px;border-radius: 4px;border: 2px solid #1A3F6F;display: inline-flex;align-items: center;justify-content: center;}
.section-tag, .badge-label {background: #FEF5E3;color: #E8960C;font-size: 12px;font-weight: 800;padding: 3px 10px;border-radius: 3px;}
.section-title {margin: 0;font-size: 16px;font-weight: 800;color: #1A3F6F;}

/* ==========================================
   그리드 레이아웃 (Grid Systems)
   ========================================== */
.grid-2col, .grid-two-columns {display: grid;grid-template-columns: 1fr 1fr;gap: 14px;margin-bottom: 16px;}
.grid-3col, .grid-three-columns {display: grid;grid-template-columns: repeat(3, 1fr);gap: 14px;}
.grid-four-columns {display: grid;grid-template-columns: repeat(4, 1fr);gap: 10px;margin-bottom: 18px;}

/* ==========================================
   카드 컴포넌트 (Feature & Status Cards)
   ========================================== */
.feature-card {background: #fff;border: 1px solid #E2E8F0;border-radius: 6px;padding: 18px;page-break-inside: avoid;break-inside: avoid;}
.feature-icon, .feature-card__icon {width: 36px;height: 36px;border-radius: 6px;display: flex;align-items: center;justify-content: center;font-size: 18px;margin-bottom: 10px;background: #E8F0FA;}
.feature-card h4, .feature-card__title {margin: 0 0 8px 0;font-size: 15px;font-weight: 800;color: #1C2535;}
.feature-card ul, .feature-card__list {margin: 0;padding-left: 18px;font-size: 13px;color: #4A5568;line-height: 1.6;}
.feature-card__list b {color: #1A3F6F;}
.status-card {background: #fff;border: 1px solid #E2E8F0;border-radius: 6px;padding: 18px;}
.status-card__header {display: flex;align-items: center;justify-content: space-between;margin-bottom: 6px;}
.status-card__title {margin: 0;font-size: 15px;font-weight: 800;color: #1C2535;}
.status-card__subtitle {font-size: 12px;color: #718096;margin-bottom: 10px;}
.status-card__tag {margin-bottom: 8px;}
.status-card__list {margin: 0;padding-left: 18px;font-size: 13px;color: #4A5568;line-height: 1.6;}
.stat-card {background: #fff;border: 1px solid #E2E8F0;border-radius: 6px;padding: 16px 12px;text-align: center;}
.stat-card__number {font-size: 28px;font-weight: 900;color: #1A3F6F;}
.stat-card__number small {font-size: 14px;font-weight: 700;}
.stat-card__title {font-size: 13px;font-weight: 700;color: #1C2535;margin-top: 5px;}
.stat-card__sub {font-size: 12px;color: #718096;margin-top: 2px;}

/* ==========================================
   성장 경로 및 프로세스 (Process & Growth Flow)
   ========================================== */
.growth-flow, .process-flow {background: #F7F9FC;border: 1px solid #E2E8F0;border-radius: 6px;padding: 18px 20px;display: flex;align-items: center;gap: 8px;overflow-x: auto;}
.process-arrow {color: #E8960C;font-size: 18px;font-weight: 900;flex-shrink: 0;}
.flow-node, .flow-step {background: #E8F0FA;border: 1px solid rgba(26, 63, 111, 0.18);border-radius: 5px;padding: 9px 14px;text-align: center;min-width: 90px;flex-shrink: 0;}
.flow-node--start, .flow-step--start {background: #fff;border: 2px solid #1A3F6F;}
.flow-node--process {background: #E8F0FA;border: 1px solid rgba(26, 63, 111, 0.18);}
.flow-node--goal, .flow-step--goal {background: #fff;border: 2px solid #1B7A6E;}
.flow-node__sub, .flow-step__tag {font-size: 12px;font-weight: 700;color: #718096;}
.flow-node--start .flow-node__sub, .flow-step--start .flow-step__tag {color: #1A3F6F;}
.flow-node--goal .flow-node__sub, .flow-step--goal .flow-step__tag {color: #1B7A6E;}
.flow-node__main, .flow-step__title {font-size: 13.5px;font-weight: 800;color: #1A3F6F;}
.flow-node--goal .flow-node__main, .flow-step--goal .flow-step__title {color: #1B7A6E;}
.flow-node__desc, .flow-step__desc {font-size: 10.5px;color: #718096;}
.flow-node--goal .flow-node__desc, .flow-step--goal .flow-step__desc {color: #1B7A6E;opacity: 0.8;}
.flow-branches, .flow-branch {display: flex;flex-direction: column;gap: 4px;flex: 1;min-width: 140px;}
.branch-item, .flow-branch__item {border-radius: 0 4px 4px 0;padding: 5px 9px;font-size: 12.5px;font-weight: 700;}
.branch-item--blue, .flow-branch__item--navy {background: #E8F0FA;border-left: 2px solid #1A3F6F;color: #1A3F6F;}
.branch-item--teal, .flow-branch__item--teal {background: #E0F5F2;border-left: 2px solid #1B7A6E;color: #1B7A6E;}

/* ==========================================
   학교 지정 현황 및 연도별 그룹 (School Cards)
   ========================================== */
.year-group-container {padding-left: 22px;}
.year-group {margin-bottom: 18px;}
.year-group__title {font-size: 12px;font-weight: 800;color: #718096;letter-spacing: 0.05em;margin-bottom: 6px;text-transform: uppercase;}
.school-grid {display: flex;flex-wrap: wrap;gap: 7px;}
.school-card {background: #fff;border: 1px solid #E2E8F0;border-radius: 5px;padding: 8px 11px;}
.school-card--highlight {background: #FEF5E3;border-color: #E8960C;}
.school-card__name {font-size: 13.5px;font-weight: 700;color: #1C2535;}
.school-card__category {font-size: 12px;color: #718096;}
.school-card__dept {font-size: 12px;color: #2E7BC4;}
.school-name {font-weight: 700;color: #1A3F6F;}

/* ==========================================
   테이블 컴포넌트 (Tables & Table Items)
   ========================================== */
.table-container {border-radius: 6px;overflow: hidden;border: 1px solid #E2E8F0;background: #fff;page-break-inside: avoid;break-inside: avoid;}
.table-header-title, .table-container__header {background: #E8F0FA;padding: 9px 14px;font-size: 13px;font-weight: 800;color: #1A3F6F;border-bottom: 1px solid #E2E8F0;}
.data-table {width: 100%;border-collapse: collapse;font-size: 13px;}
.data-table th {background: #fff;color: #1A3F6F;padding: 9px 10px;font-size: 14px;font-weight: 800;border-bottom: 2px solid #1A3F6F;text-align: center;}
.data-table td {padding: 8px 10px;border-bottom: 1px solid #E2E8F0;text-align: center;}
.data-table td.text-left {text-align: left !important;font-weight: 600;color: #1C2535;}
.data-table td.text-pending {font-style: italic;color: #718096;}
.data-table tr.row-summary, .data-table tr.table-summary {background: #E8F0FA;font-weight: 800;color: #1A3F6F;}
.data-table tr.row-highlight {background: #FEF5E3;}

/* ==========================================
   태그 & 뱃지 (Badges & Tags)
   ========================================== */
.badge, .tag {display: inline-block;padding: 2px 8px;border-radius: 3px;font-size: 12px;font-weight: 700;}
.badge--sm {font-size: 11px;}
.badge--gray {background: #EDEFF3;color: #5A6375;}
.badge--orange {background: #FEF5E3;color: #E8960C;}
.badge--teal {background: #E0F5F2;color: #1B7A6E;}
.badge--blue {background: #DCF0FF;color: #2E7BC4;}
.tag--national {background: #E8F0FA;color: #1A3F6F;}
.tag--public {background: #EDEFF3;color: #5A6375;}
.tag--private {background: #EDE9FE;color: #5B21B6;}
.tag--field-mech {background: #DCF0FF;color: #2E7BC4;}
.tag--field-agro {background: #E0F5F2;color: #1B7A6E;}
.tag--field-horse {background: #FEF5E3;color: #E8960C;}
.tag--glocal-new {background: #FEF2F2;color: #C0392B;}
.tag--glocal {background: #E0F5F2;color: #1B7A6E;}
.tag--agreement {background: #FEF5E3;color: #E8960C;}

/* ==========================================
   입학전형 스케줄 카드 (Schedule Cards)
   ========================================== */
.schedule-card {border: 1px solid #E2E8F0;border-radius: 6px;overflow: hidden;margin-bottom: 10px;box-sizing: border-box;width: 100%;}
.schedule-card__header {background: #E8F0FA;padding: 11px 16px;border-bottom: 1px solid #E2E8F0;}
.schedule-card__title {font-size: 15px;font-weight: 800;color: #1A3F6F;}
.schedule-card__grid {display: grid;grid-template-columns: repeat(3, 1fr);background: #fff;box-sizing: border-box;width: 100%;}
.schedule-item {padding: 12px 16px;border-right: 1px solid #E2E8F0;box-sizing: border-box;min-width: 0;}
.schedule-item:last-child {border-right: none;}
.schedule-item__label {font-size: 10px;font-weight: 800;letter-spacing: 0.08em;color: #718096;text-transform: uppercase;margin-bottom: 5px;}
.schedule-item__date {font-size: 14px;font-weight: 700;color: #1C2535;}

/* ==========================================
   기타 요소 (Notices & Text Utilities)
   ========================================== */
.notice-box {margin-top: 14px;border: 1px solid #E2E8F0;border-radius: 6px;padding: 14px 16px;display: flex;gap: 12px;align-items: flex-start;background: #fff;page-break-inside: avoid;break-inside: avoid;}
.notice-box__icon {font-size: 18px;}
.notice-box__title {font-size: 14px;font-weight: 800;color: #1A3F6F;margin-bottom: 4px;}
.notice-box__desc {font-size: 13px;color: #4A5568;line-height: 1.7;}
.sub-info {font-size: 11px;color: #718096;margin-top: 2px;font-weight: 400;}
.website-link {font-size: 12px;color: #2E7BC4;font-weight: 700;}
.note-text {font-size: 11.5px;color: #A0AEC0;margin-top: 10px;}      