@charset "utf-8";
/* DHUNET program01 - 전문 교육기관형 반응형 프로그램 스킨 */
#program01,.program-write-wrap,.program-view-wrap,.program-view-denied{max-width:1500px;margin:0 auto;padding:0 30px;box-sizing:border-box;color:#222;font-family:"Noto Sans KR","Pretendard",Arial,sans-serif}

/* 과정 탭 : 카드형 느낌을 줄이고 선/타이포 중심 */
.program-course-tabs{display:grid;grid-template-columns:repeat(3,1fr);max-width:760px;margin:0 auto 46px;border-top:1px solid #cfd5dc;border-bottom:1px solid #cfd5dc;background:#fff}
.program-course-tabs a{position:relative;padding:15px 10px;text-align:center;font-size:16px;font-weight:600;color:#4d5661;border-right:1px solid #e1e5e9;transition:color .2s,background .2s}
.program-course-tabs a:last-child{border-right:0}.program-course-tabs a:hover{color:#142844;background:#fafbfc}.program-course-tabs a.active{background:#142844;color:#fff}.program-course-tabs a.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#c7923e}

/* 관리자 바 */
.program-admin-top{display:flex;align-items:center;justify-content:space-between;margin:-18px 0 42px;padding:15px 0;border-top:1px solid #e1e5e9;border-bottom:1px solid #e1e5e9;font-size:14px;color:#4e5863}.program-admin-top>div{display:flex;gap:7px}.program-admin-top strong{font-weight:700;color:#142844}.program-admin-btn,.program-manage-link{display:inline-flex;align-items:center;justify-content:center;background:#142844;color:#fff!important;padding:9px 14px;font-size:13px;font-weight:600}.program-admin-btn.ghost{background:#fff;color:#142844!important;border:1px solid #cbd2d9}

/* 대주제 */
.program-subject{margin:0 0 72px}.program-subject-title{display:flex;align-items:baseline;gap:11px;margin-bottom:18px;padding:0 0 14px;border-bottom:2px solid #142844}.program-subject-title:before{content:"";width:4px;height:24px;background:#142844;align-self:center;margin-right:3px}.program-subject-chemistry .program-subject-title:before{background:#c7923e}.program-subject-biomedical .program-subject-title:before{background:#5b8b80}.program-subject-title h3{order:1;margin:0;font-size:27px;line-height:1.2;font-weight:700;letter-spacing:-.7px;color:#142844}.program-subject-en{order:2;font-size:11px;letter-spacing:.7px;font-weight:500;color:#9aa2aa}.program-subject-count{display:none}

/* 목록 테이블 */
.program-table{border-bottom:1px solid #cfd5dc}.program-tr{display:grid;grid-template-columns:82px minmax(190px,1.15fr) minmax(300px,2fr) minmax(210px,1.1fr);align-items:stretch}.program01-wrap .program-tr:has(.program-col-manage){grid-template-columns:82px minmax(190px,1.15fr) minmax(300px,2fr) minmax(210px,1.1fr) 100px}.program-head{min-height:50px;background:#f5f6f7;color:#313b46;font-size:14px;font-weight:600;border-bottom:1px solid #d7dce1}.program-head>div,.program-row>div{display:flex;align-items:center;padding:14px 18px;box-sizing:border-box;border-right:1px solid #dde2e7}.program-head>div:last-child,.program-row>div:last-child{border-right:0}.program-head>div{justify-content:center}.program-row{min-height:82px;border-bottom:1px solid #e3e6e9}.program-row:last-child{border-bottom:0}.program-row:hover{background:#fcfcfc}.program-col-num{justify-content:center}.program-number{font-size:16px;font-weight:600;color:#142844;font-variant-numeric:tabular-nums}.program-col-title strong,.program-admin-view{font-size:16px;font-weight:600;color:#1f2933;line-height:1.55;letter-spacing:-.3px}.program-admin-view:hover{color:#c7923e}.program-col-content{font-size:16px;color:#4a5560;font-weight:400;line-height:1.75;word-break:keep-all;letter-spacing:-.2px}.program-col-type{display:flex!important;align-content:center;flex-wrap:wrap;gap:6px}.program-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border:1px solid #d4d9df;background:#fff;color:#4f5a65;font-size:12px;font-weight:500;line-height:1.25}.badge-lab{border-color:#bfcfdd;color:#31536e}.badge-book{border-color:#d9c9ad;color:#75572c}.badge-history{border-color:#d3c8d9;color:#65536e}.badge-paper{border-color:#c4d8d1;color:#42675f}.badge-major{border-color:#d8bd8d;color:#80591a}.badge-none{color:#aaa}.program-col-manage{justify-content:center}.program-manage-link{padding:7px 10px;font-size:12px}.program-empty,.program-total-empty{padding:34px 20px;text-align:center;color:#9099a2;font-size:14px}.program-total-empty{margin-top:-38px;border-top:1px solid #e2e5e8;border-bottom:1px solid #e2e5e8;background:#fafafa}

/* 등록/수정 : 장식보다 정보 위계 중심 */
.program-write-head,.program-view-head{text-align:center;margin:0 0 42px;padding-bottom:24px;border-bottom:1px solid #d9dee3}.program-write-head h2,.program-view-head h2{margin:0 0 12px;color:#142844;font-size:32px;font-weight:700;letter-spacing:-1px}.program-write-head p,.program-view-head p{margin:0;color:#747f89;font-size:15px;line-height:1.7}.program-write-card,.program-view-card{border-top:2px solid #142844;border-bottom:1px solid #d4d9de;background:#fff}.program-field{display:grid;grid-template-columns:155px 1fr;gap:24px;padding:24px 20px;border-bottom:1px solid #e3e6e9;align-items:start}.program-field:last-child{border-bottom:0}.program-field>label,.program-label{display:block;margin:12px 0 0;color:#26323d;font-size:15px;font-weight:600}.program-field em{font-style:normal;color:#c7923e;font-size:11px;margin-left:4px}.program-label small{display:block;margin:5px 0 0;font-weight:400;color:#8b949d;font-size:12px}.program-field select,.program-field input[type=text]{width:100%;height:50px;border:1px solid #cfd5db;border-radius:0;padding:0 15px;box-sizing:border-box;background:#fff;font-size:15px;color:#2b333b}.program-field select:focus,.program-field input[type=text]:focus{outline:none;border-color:#142844}.program-choice-row{display:flex;flex-wrap:wrap;gap:8px}.program-choice{display:inline-flex;cursor:pointer}.program-choice input{position:absolute;opacity:0;pointer-events:none}.program-choice span{display:inline-flex;align-items:center;justify-content:center;min-width:94px;height:44px;padding:0 17px;border:1px solid #cfd5db;background:#fff;color:#505b66;font-size:14px;font-weight:500;box-sizing:border-box;transition:.2s}.program-choice input:checked+span{background:#142844;border-color:#142844;color:#fff;box-shadow:inset 0 -3px #c7923e}.lecture-choice .program-choice span{min-width:auto}.program-field-help{grid-column:2;margin:2px 0 0;color:#806a48;font-size:12px}.program-warning{grid-column:2;padding:13px 15px;background:#faf8f3;color:#725f3f;border:1px solid #dfd3bd}.program-write-card .wr_content{width:100%;min-width:0}.program-write-card .wr_content textarea{min-height:220px!important}.program-write-actions,.program-view-actions{display:flex;justify-content:center;gap:8px;margin-top:34px}.program-btn-cancel,.program-btn-submit,.program-btn-delete{display:inline-flex;align-items:center;justify-content:center;min-width:112px;height:48px;padding:0 22px;border:0;border-radius:0;box-sizing:border-box;font-size:14px;font-weight:600;cursor:pointer}.program-btn-cancel{background:#fff;color:#4c5660;border:1px solid #c7ced5}.program-btn-submit{background:#142844;color:#fff!important}.program-btn-delete{background:#fff;color:#a84444;border:1px solid #d9bcbc}

/* 관리자 뷰 */
.program-view-meta{margin:0}.program-view-meta>div{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid #e2e6e9}.program-view-meta dt,.program-view-meta dd{margin:0;padding:20px 24px}.program-view-meta dt{background:#f5f6f7;color:#404b56;font-weight:600}.program-view-meta dd{color:#222;font-size:15px}.program-meta-pill{display:inline-flex;padding:5px 10px;background:#142844;color:#fff;font-size:12px;font-weight:600}.program-view-badges{display:flex;gap:6px;flex-wrap:wrap}.program-view-section{padding:28px 24px;border-bottom:1px solid #e2e6e9}.program-view-section:last-child{border-bottom:0}.program-view-section h3{margin:0 0 13px;color:#59636d;font-size:14px;font-weight:600}.program-view-subject{font-size:23px;font-weight:700;color:#142844;letter-spacing:-.5px}.program-view-content{font-size:15px;line-height:1.85;color:#505b65}.program-view-denied{text-align:center;padding-top:60px!important;padding-bottom:60px!important}.program-view-denied strong{display:block;color:#142844;font-size:20px}.program-view-denied p{color:#7b8490}.program-view-denied a{display:inline-flex;margin-top:12px;padding:11px 18px;background:#142844;color:#fff}

@media(max-width:900px){.program-tr,.program01-wrap .program-tr:has(.program-col-manage){grid-template-columns:64px minmax(150px,1fr) minmax(220px,1.5fr) minmax(170px,1fr)}.program-col-manage{display:none!important}.program-head>div,.program-row>div{padding:13px 12px}.program-field{grid-template-columns:125px 1fr}}
@media(max-width:768px){#program01,.program-write-wrap,.program-view-wrap,.program-view-denied{padding-left:18px;padding-right:18px}.program-course-tabs{margin-bottom:40px}.program-course-tabs{max-width:100%}.program-course-tabs a{padding:13px 3px;font-size:14px}.program-admin-top{align-items:flex-start;gap:12px;flex-direction:column;margin-top:-10px;margin-bottom:36px}.program-subject{margin-bottom:52px}.program-subject-title{padding-bottom:12px;gap:7px}.program-subject-title:before{height:21px;margin-right:2px}.program-subject-title h3{font-size:23px}.program-subject-en{font-size:10px;letter-spacing:.4px}.program-subject-count{font-size:10px}.program-head{display:none}.program-table{border-top:1px solid #142844}.program-row,.program01-wrap .program-tr:has(.program-col-manage){display:grid;grid-template-columns:48px 1fr;gap:0;padding:18px 0;min-height:0}.program-row>div{display:block;padding:3px 12px;border-right:0}.program-row .program-col-num{grid-row:1/4;grid-column:1;display:flex;justify-content:center;padding:3px 4px}.program-row .program-col-title{grid-column:2}.program-row .program-col-content{grid-column:2;font-size:14px;padding-top:6px;line-height:1.7}.program-row .program-col-type{grid-column:2;padding-top:10px}.program-number{font-size:15px}.program-col-title strong,.program-admin-view{font-size:16px}.program-badge{font-size:11px;padding:4px 7px}.program-write-head,.program-view-head{margin-bottom:28px;padding-bottom:20px}.program-write-head h2,.program-view-head h2{font-size:27px}.program-write-head p,.program-view-head p{font-size:14px}.program-field{display:block;padding:20px 4px}.program-field>label,.program-label{margin:0 0 11px;font-size:14px}.program-label small{display:inline;margin-left:5px}.subject-choice{display:grid;grid-template-columns:repeat(3,1fr)}.subject-choice .program-choice span{width:100%;min-width:0}.program-choice span{height:42px;padding:0 11px;font-size:13px}.program-field-help,.program-warning{grid-column:auto}.program-field-help{margin-top:10px}.program-view-meta>div{grid-template-columns:95px 1fr}.program-view-meta dt,.program-view-meta dd{padding:16px 14px}.program-view-section{padding:22px 16px}.program-view-subject{font-size:20px}}

/* 전공특강(화학해당): 항상 표시하되 화학 선택 전에는 비활성 */
.program-choice.major-only.disabled{opacity:.42;cursor:not-allowed;background:#f5f6f8}.program-choice.major-only.disabled span{cursor:not-allowed}


/* 2026-09 최종 리스트 디테일 조정 */
/* 컬럼 순서 : 번호 | 강의유형 | 주제 | 내용 | 관리 */
.program-tr{grid-template-columns:72px minmax(190px,.95fr) minmax(210px,1.15fr) minmax(360px,2fr)}
.program01-wrap .program-tr:has(.program-col-manage){grid-template-columns:72px minmax(190px,.95fr) minmax(210px,1.15fr) minmax(360px,2fr) 92px}

/* 헤더는 배경 없이 타이포와 선으로 구분 */
.program-head{min-height:42px;background:#fff;color:#142844;font-size:15px;font-weight:700;border-top:1px solid #142844;border-bottom:1px solid #aeb8c2}
.program-head>div{padding:10px 14px}
.program-head .program-col-num{color:#697580}
.program-head .program-col-type{color:#c7923e}
.program-head .program-col-title{color:#142844}
.program-head .program-col-content{color:#394550}
.program-head .program-col-manage{color:#697580}

/* 행 높이/상하 여백 축소 */
.program-row{min-height:64px}
.program-row>div{padding:10px 14px}
.program-number{font-size:16px;font-weight:600}
.program-col-title strong,.program-admin-view{font-size:16px;font-weight:600;line-height:1.55}
.program-col-content{font-size:16px;color:#343d46;font-weight:300;line-height:1.65;letter-spacing:-.15px}

/* 강의유형 : 시선이 가는 배경 + 더 큰 굵은 글씨 */
.program-col-type{gap:7px}
.program-badge{padding:7px 11px;border:0;font-size:13px;font-weight:700;line-height:1.2;color:#fff;background:#536273}
.badge-lab{background:#1f4d72;color:#fff}
.badge-book{background:#9a6a28;color:#fff}
.badge-history{background:#68537d;color:#fff}
.badge-paper{background:#397064;color:#fff}
.badge-major{background:#b36f16;color:#fff}
.badge-none{background:#eef1f3;color:#8b949d;font-weight:500}

@media(max-width:900px){
    .program-tr,.program01-wrap .program-tr:has(.program-col-manage){grid-template-columns:62px minmax(170px,.9fr) minmax(170px,1fr) minmax(260px,1.5fr)}
}
@media(max-width:768px){
    .program-row,.program01-wrap .program-tr:has(.program-col-manage){display:grid;grid-template-columns:46px 1fr;padding:13px 0}
    .program-row .program-col-num{grid-row:1/4;grid-column:1}
    .program-row .program-col-type{grid-column:2;grid-row:1;padding-top:2px;padding-bottom:6px}
    .program-row .program-col-title{grid-column:2;grid-row:2}
    .program-row .program-col-content{grid-column:2;grid-row:3;font-size:15px;font-weight:300;color:#343d46;padding-top:5px;line-height:1.65}
    .program-row>div{padding-left:10px;padding-right:10px}
    .program-badge{font-size:12px;font-weight:700;padding:6px 9px}
}

/* 2026-09-15 final table refinement */
.program-subject-title{border-bottom:0!important;padding-bottom:0!important;margin-bottom:14px!important}
.program-table{border-top:3px solid #142844!important}
.program-head{border-top:0!important;color:#202a34!important}
.program-head .program-col-num{color:#26323d!important}
.program-head .program-col-type{color:#9a681d!important}
.program-head .program-col-title{color:#142844!important}
.program-head .program-col-content{color:#26323d!important}
.program-head .program-col-manage{color:#26323d!important}
@media(max-width:768px){.program-table{border-top:2px solid #142844!important}.program-subject-title{margin-bottom:12px!important}}

/* v5 - header hierarchy / column proportion refinement */
.program-head{
    font-size:17px!important;
    font-weight:700!important;
}
.program-head>div{
    padding-top:9px!important;
    padding-bottom:9px!important;
}
.program-tr{
    grid-template-columns:72px minmax(150px,.72fr) minmax(220px,1.15fr) minmax(440px,2.45fr)!important;
}
.program01-wrap .program-tr:has(.program-col-manage){
    grid-template-columns:72px minmax(150px,.72fr) minmax(220px,1.15fr) minmax(440px,2.45fr) 92px!important;
}
@media(max-width:1100px) and (min-width:901px){
    .program-tr,.program01-wrap .program-tr:has(.program-col-manage){
        grid-template-columns:64px minmax(145px,.75fr) minmax(190px,1fr) minmax(300px,1.8fr)!important;
    }
    .program01-wrap .program-tr:has(.program-col-manage){
        grid-template-columns:64px minmax(145px,.75fr) minmax(190px,1fr) minmax(300px,1.8fr) 82px!important;
    }
}
@media(max-width:900px) and (min-width:769px){
    .program-tr,.program01-wrap .program-tr:has(.program-col-manage){
        grid-template-columns:60px minmax(135px,.72fr) minmax(170px,.95fr) minmax(250px,1.65fr)!important;
    }
    .program01-wrap .program-tr:has(.program-col-manage){
        grid-template-columns:60px minmax(135px,.72fr) minmax(170px,.95fr) minmax(250px,1.65fr) 76px!important;
    }
    .program-head{font-size:16px!important}
}
@media(max-width:768px){
    .program-head{font-size:16px!important}
}

/* ===== PROGRAM01 v6 : 컬럼 폭 / 헤더 선명도 최종 조정 ===== */
/* 헤더는 본문보다 약간만 크게, 흐린 색 없이 선명하게 */
.program-head{
    font-size:16px!important;
    font-weight:700!important;
    color:#111820!important;
}
.program-head .program-col-num{color:#202830!important}
.program-head .program-col-type{color:#8b5b12!important}
.program-head .program-col-title{color:#10243f!important}
.program-head .program-col-content{color:#202830!important}
.program-head .program-col-manage{color:#202830!important}

/* 강의유형은 긴 문구가 들어갈 만큼만, 남는 폭은 내용에 배분 */
.program-tr{
    grid-template-columns:72px minmax(128px,.58fr) minmax(220px,1.12fr) minmax(500px,2.75fr)!important;
}
.program01-wrap .program-tr:has(.program-col-manage){
    grid-template-columns:72px minmax(128px,.58fr) minmax(220px,1.12fr) minmax(500px,2.75fr) 92px!important;
}

/* 본문도 흐릿하지 않게. 내용은 주제보다 얇게 유지 */
.program-number{color:#142844!important}
.program-col-title strong,.program-admin-view{color:#17212b!important}
.program-col-content{color:#252d35!important;font-weight:300!important}

@media(max-width:1200px) and (min-width:901px){
    .program-tr{grid-template-columns:64px minmax(125px,.62fr) minmax(190px,1fr) minmax(340px,2fr)!important}
    .program01-wrap .program-tr:has(.program-col-manage){grid-template-columns:64px minmax(125px,.62fr) minmax(190px,1fr) minmax(340px,2fr) 82px!important}
}
@media(max-width:900px) and (min-width:769px){
    .program-tr{grid-template-columns:60px minmax(120px,.6fr) minmax(170px,.95fr) minmax(280px,1.8fr)!important}
    .program01-wrap .program-tr:has(.program-col-manage){grid-template-columns:60px minmax(120px,.6fr) minmax(170px,.95fr) minmax(280px,1.8fr) 76px!important}
    .program-head{font-size:15px!important}
}


/* v7: 관리자 목록의 관리 컬럼 제거 - 주제 클릭으로 관리자 뷰 이동 */
.program01-wrap .program-tr,
.program01-wrap .program-tr:has(.program-col-manage){
    grid-template-columns:72px minmax(125px,.62fr) minmax(210px,1.05fr) minmax(420px,2.25fr)!important;
}
.program-col-manage{display:none!important;}
.program-admin-view{cursor:pointer;text-decoration:none;}
@media(max-width:1200px){
    .program01-wrap .program-tr,
    .program01-wrap .program-tr:has(.program-col-manage){
        grid-template-columns:64px minmax(125px,.62fr) minmax(190px,1fr) minmax(340px,2fr)!important;
    }
}
@media(max-width:900px){
    .program01-wrap .program-tr,
    .program01-wrap .program-tr:has(.program-col-manage){
        grid-template-columns:60px minmax(120px,.6fr) minmax(170px,.95fr) minmax(280px,1.8fr)!important;
    }
}
@media(max-width:768px){
    .program01-wrap .program-row,
    .program01-wrap .program-tr:has(.program-col-manage){
        display:grid!important;
        grid-template-columns:46px 1fr!important;
    }
}

/* ===== PROGRAM01 v8 : compact tabs / centered lecture type / mobile labels ===== */
/* 과정 탭 세로 높이 축소 */
.program-course-tabs{margin-bottom:38px!important}
.program-course-tabs a{padding:11px 10px!important}

/* 강의유형 가운데 정렬 + 행 세로 여백 축소 */
.program-col-type{justify-content:center!important;text-align:center!important}
.program-row{min-height:56px!important}
.program-row>div{padding-top:8px!important;padding-bottom:8px!important}

@media(max-width:768px){
    .program-course-tabs{margin-bottom:32px!important}
    .program-course-tabs a{padding:10px 3px!important}

    .program01-wrap .program-row,
    .program01-wrap .program-tr:has(.program-col-manage){
        padding:10px 0!important;
        grid-template-columns:46px 1fr!important;
    }
    .program-row>div{padding-top:2px!important;padding-bottom:2px!important}

    /* 모바일에서도 각 값의 분류명을 함께 표시 */
    .program-row .program-col-type,
    .program-row .program-col-title,
    .program-row .program-col-content{
        display:grid!important;
        grid-template-columns:72px minmax(0,1fr)!important;
        align-items:start!important;
        text-align:left!important;
        column-gap:8px!important;
    }
    .program-row .program-col-type:before,
    .program-row .program-col-title:before,
    .program-row .program-col-content:before{
        content:attr(data-label);
        display:block;
        color:#142844;
        font-size:12px;
        font-weight:700;
        line-height:1.65;
        letter-spacing:-.2px;
    }
    .program-row .program-col-type{padding-top:2px!important;padding-bottom:5px!important}
    .program-row .program-col-title{padding-top:3px!important;padding-bottom:3px!important}
    .program-row .program-col-content{padding-top:3px!important;padding-bottom:2px!important}
    .program-row .program-col-num{grid-row:1/4!important;padding-top:3px!important}
}

/* ===== PROGRAM01 v9 : mobile readability / badge fit / content wrap ===== */
@media(max-width:768px){
    /* 모바일 분류명: PC 헤더와 동일한 선명한 톤, 크기 확대 */
    .program-row .program-col-type:before,
    .program-row .program-col-title:before,
    .program-row .program-col-content:before{
        color:#202830!important;
        font-size:14px!important;
        font-weight:700!important;
        line-height:1.55!important;
        letter-spacing:-.25px!important;
    }

    /* 강의유형 배경은 글자 폭만 차지 */
    .program-row .program-col-type{
        justify-content:start!important;
        text-align:left!important;
    }
    .program-row .program-col-type .program-badge{
        display:inline-flex!important;
        width:auto!important;
        max-width:100%!important;
        justify-self:start!important;
        align-self:start!important;
    }

    /* 내용이 길어도 생략하지 않고 여러 줄로 모두 표시 */
    .program-row .program-col-content{
        display:grid!important;
        overflow:visible!important;
        height:auto!important;
        max-height:none!important;
        white-space:normal!important;
        text-overflow:clip!important;
        word-break:keep-all!important;
        overflow-wrap:break-word!important;
        line-height:1.7!important;
        color:#252d35!important;
    }
    .program-row .program-col-content > *{
        white-space:normal!important;
        overflow:visible!important;
        text-overflow:clip!important;
        max-height:none!important;
    }
}

/* ===== PROGRAM01 v10 : mobile separators / label hierarchy ===== */
@media(max-width:768px){
    /* 각 프로그램 항목을 표처럼 명확히 구분 */
    .program01-wrap .program-row,
    .program01-wrap .program-tr:has(.program-col-manage){
        border-bottom:1px solid #cbd2d9!important;
        padding:11px 0!important;
    }
    .program01-wrap .program-row:last-child{
        border-bottom:0!important;
    }

    /* 모바일 분류명은 실제 내용보다 한 단계 크게 */
    .program-row .program-col-type:before,
    .program-row .program-col-title:before,
    .program-row .program-col-content:before{
        font-size:15px!important;
        font-weight:700!important;
        line-height:1.45!important;
        color:#142844!important;
    }

    /* 실제 값은 모바일에 맞게 한 단계 축소 */
    .program-row .program-col-title strong,
    .program-row .program-admin-view{
        font-size:14px!important;
        line-height:1.6!important;
        color:#17212b!important;
    }
    .program-row .program-col-content{
        font-size:14px!important;
        line-height:1.7!important;
        font-weight:300!important;
        color:#252d35!important;
    }
    .program-row .program-badge{
        font-size:13px!important;
        font-weight:700!important;
        line-height:1.25!important;
    }
}

/* ===== PROGRAM01 v11 : mobile table grid separators ===== */
@media(max-width:768px){
    /* 번호 영역과 상세정보 영역 사이 세로 구분선 */
    .program01-wrap .program-row,
    .program01-wrap .program-tr:has(.program-col-manage){
        padding:0!important;
        align-items:stretch!important;
        border-bottom:1px solid #bfc7cf!important;
    }
    .program-row .program-col-num{
        grid-column:1!important;
        grid-row:1/4!important;
        align-self:stretch!important;
        display:flex!important;
        align-items:flex-start!important;
        justify-content:center!important;
        padding:13px 4px!important;
        border-right:1px solid #bfc7cf!important;
        box-sizing:border-box!important;
    }

    /* 강의유형 / 주제 / 내용 각 행 아래 가로 구분선 */
    .program-row .program-col-type,
    .program-row .program-col-title,
    .program-row .program-col-content{
        grid-column:2!important;
        padding:10px 10px!important;
        box-sizing:border-box!important;
        border-bottom:1px solid #e0e4e8!important;
    }
    .program-row .program-col-type{grid-row:1!important;}
    .program-row .program-col-title{grid-row:2!important;}
    .program-row .program-col-content{
        grid-row:3!important;
        border-bottom:0!important;
        padding-top:10px!important;
        padding-bottom:11px!important;
    }

    /* 모바일 분류명은 표의 항목명처럼 또렷하게 */
    .program-row .program-col-type:before,
    .program-row .program-col-title:before,
    .program-row .program-col-content:before{
        font-size:15px!important;
        font-weight:700!important;
        color:#142844!important;
        line-height:1.5!important;
    }
}

/* ===== PROGRAM01 v12 : 769~1070px overflow fix ===== */
/* 태블릿/좁은 PC에서는 고정 최소폭 때문에 표가 화면 밖으로 밀리지 않도록
   모든 컬럼을 실제 컨테이너 폭 안에서 유동적으로 배분한다. */
@media (min-width:769px) and (max-width:1070px){
    .program01-wrap,
    .program-table,
    .program-tr,
    .program-head,
    .program-row{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
    }

    .program01-wrap .program-tr,
    .program01-wrap .program-tr:has(.program-col-manage){
        grid-template-columns:54px minmax(105px,.72fr) minmax(150px,1.05fr) minmax(0,2.25fr)!important;
    }

    .program-head>div,
    .program-row>div{
        min-width:0!important;
        padding-left:10px!important;
        padding-right:10px!important;
    }

    .program-col-title,
    .program-col-content{
        min-width:0!important;
        white-space:normal!important;
        overflow:visible!important;
        text-overflow:clip!important;
        word-break:keep-all!important;
        overflow-wrap:anywhere!important;
    }

    .program-col-title strong,
    .program-admin-view,
    .program-col-content,
    .program-col-content>*{
        max-width:100%!important;
        white-space:normal!important;
        overflow:visible!important;
        text-overflow:clip!important;
        word-break:keep-all!important;
        overflow-wrap:anywhere!important;
    }

    .program-col-type{
        min-width:0!important;
        flex-wrap:wrap!important;
    }
    .program-badge{
        max-width:100%!important;
        white-space:normal!important;
        text-align:center!important;
        word-break:keep-all!important;
    }
}

/* ===== PROGRAM01 v13 : mobile label column divider / vertical centering ===== */
@media(max-width:768px){
    /* 모바일: 번호 | 분류명 | 실제내용 3단 표 구조 */
    .program-row .program-col-type,
    .program-row .program-col-title,
    .program-row .program-col-content{
        grid-template-columns:78px minmax(0,1fr)!important;
        column-gap:0!important;
        align-items:stretch!important;
        padding-left:0!important;
        padding-right:0!important;
    }

    /* 분류명 오른쪽 세로 구분선 + 값과의 간격 */
    .program-row .program-col-type:before,
    .program-row .program-col-title:before,
    .program-row .program-col-content:before{
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        align-self:stretch!important;
        box-sizing:border-box!important;
        padding:0 10px!important;
        margin-right:10px!important;
        border-right:1px solid #cbd2d9!important;
        min-height:100%!important;
    }

    /* 실제 값 영역은 남은 폭에서 자연스럽게 줄바꿈 */
    .program-row .program-col-type > *,
    .program-row .program-col-title > *,
    .program-row .program-col-content > *{
        min-width:0!important;
        max-width:100%!important;
    }

    /* 내용이 두 줄 이상이어도 '내용' 분류명은 셀 높이의 중앙에 위치 */
    .program-row .program-col-content:before{
        align-items:center!important;
    }

    .program-row .program-col-content{
        white-space:normal!important;
        overflow:visible!important;
        overflow-wrap:anywhere!important;
        word-break:keep-all!important;
    }
}

/* ===== PROGRAM01 v14 : mobile lecture label / subject heading scale ===== */
/* 물리 · 화학 · 의생명 영역 제목 크기 조정 */
.program-subject-title h3{
    font-size:24px!important;
}

@media(max-width:768px){
    .program-subject-title h3{
        font-size:20px!important;
    }
    .program-subject-title:before{
        height:18px!important;
    }

    /* 강의유형은 모바일에서 '강의 / 유형' 2글자씩 정확히 줄바꿈 */
    .program-row .program-col-type:before{
        content:"강의\A유형"!important;
        white-space:pre-line!important;
        line-height:1.35!important;
        text-align:center!important;
        justify-content:center!important;
    }
}

/* ===== PROGRAM01 v15 : mobile label alignment / typography unify ===== */
@media(max-width:768px){
    /* 강의유형 / 주제 / 내용 분류명: 크기·굵기·색상·정렬 완전 통일 */
    .program-row .program-col-type:before,
    .program-row .program-col-title:before,
    .program-row .program-col-content:before{
        font-size:15px!important;
        font-weight:700!important;
        line-height:1.35!important;
        color:#142844!important;
        text-align:center!important;
        justify-content:center!important;
        align-items:center!important;
        white-space:normal!important;
    }

    /* 강의유형만 2글자씩 두 줄 표기하되 같은 중앙정렬 기준 사용 */
    .program-row .program-col-type:before{
        content:"강의\A유형"!important;
        white-space:pre-line!important;
    }

    .program-row .program-col-title:before{content:"주제"!important;}
    .program-row .program-col-content:before{content:"내용"!important;}
}

/* ===== PROGRAM01 v16 : PC / Mobile typography & color unified ===== */
@media(max-width:768px){
    /* 영역 제목도 PC 기준으로 통일 */
    .program-subject-title h3{
        font-size:24px!important;
        font-weight:700!important;
        color:#142844!important;
    }

    /* 모바일 분류명은 PC 헤더의 폰트 규격을 그대로 사용 */
    .program-row .program-col-type:before,
    .program-row .program-col-title:before,
    .program-row .program-col-content:before{
        font-family:"Noto Sans KR","Pretendard",Arial,sans-serif!important;
        font-size:16px!important;
        font-weight:700!important;
        line-height:1.35!important;
    }
    .program-row .program-col-type:before{color:#8b5b12!important;}
    .program-row .program-col-title:before{color:#10243f!important;}
    .program-row .program-col-content:before{color:#202830!important;}

    /* 실제 데이터도 PC 기준 글꼴/크기/색상으로 통일 */
    .program-number{
        font-family:"Noto Sans KR","Pretendard",Arial,sans-serif!important;
        font-size:16px!important;
        font-weight:600!important;
        color:#142844!important;
    }
    .program-col-title strong,
    .program-admin-view{
        font-family:"Noto Sans KR","Pretendard",Arial,sans-serif!important;
        font-size:16px!important;
        font-weight:600!important;
        line-height:1.55!important;
        color:#17212b!important;
    }
    .program-row .program-col-content{
        font-family:"Noto Sans KR","Pretendard",Arial,sans-serif!important;
        font-size:16px!important;
        font-weight:300!important;
        line-height:1.65!important;
        color:#252d35!important;
    }
    .program-badge{
        font-family:"Noto Sans KR","Pretendard",Arial,sans-serif!important;
        font-size:13px!important;
        font-weight:700!important;
    }
}

/* ===== PROGRAM01 v17 : mobile heading scale / lecture badge vertical center ===== */
@media(max-width:768px){
    /* 모바일 영역 제목은 본문 비율에 맞춰 한 단계 축소 */
    .program-subject-title h3{
        font-size:22px!important;
    }

    /* 강의유형 실제 값(배지)을 해당 행의 위·아래 중앙에 배치 */
    .program-row .program-col-type{
        align-items:center!important;
        align-content:center!important;
        justify-content:flex-start!important;
        min-height:100%!important;
    }
    .program-row .program-col-type > *{
        align-self:center!important;
    }
}

/* ===== PROGRAM01 v18 : mobile subject 20px / lecture badge true vertical center ===== */
@media(max-width:768px){
    /* 모바일 물리 · 화학 · 의생명 제목 */
    .program-subject-title h3{
        font-size:20px!important;
    }

    /* 강의유형 행의 분류명과 실제 배지를 같은 행 높이 기준으로 중앙 정렬 */
    .program-row .program-col-type{
        align-items:center!important;
        align-content:center!important;
    }
    .program-row .program-col-type:before{
        align-self:stretch!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
    }
    /* v9의 align-self:start 우선순위를 확실히 덮어씀 */
    .program-row .program-col-type .program-badge{
        align-self:center!important;
        justify-self:start!important;
        margin-top:0!important;
        margin-bottom:0!important;
    }
}

/* ===== PROGRAM01 v19 : mobile multiline rows / label true vertical centering ===== */
@media(max-width:768px){
    /* 강의유형 · 주제 · 내용은 실제 값의 높이에 따라 행이 자연스럽게 늘어난다. */
    .program-row .program-col-type,
    .program-row .program-col-title,
    .program-row .program-col-content{
        height:auto!important;
        min-height:44px!important;
        max-height:none!important;
        align-items:stretch!important;
        overflow:visible!important;
    }

    /* 값이 2~3줄 이상이 되어 행 높이가 커져도 분류명은 항상 세로 중앙 */
    .program-row .program-col-type:before,
    .program-row .program-col-title:before,
    .program-row .program-col-content:before{
        align-self:stretch!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        height:auto!important;
        min-height:100%!important;
    }

    /* 주제: 길면 제한 없이 줄바꿈 */
    .program-row .program-col-title strong,
    .program-row .program-col-title .program-admin-view{
        align-self:center!important;
        min-width:0!important;
        max-width:100%!important;
        white-space:normal!important;
        word-break:keep-all!important;
        overflow-wrap:anywhere!important;
        overflow:visible!important;
        text-overflow:clip!important;
        max-height:none!important;
    }

    /* 내용: 길이에 따라 행 높이가 계속 늘어나며 전체 노출 */
    .program-row .program-col-content{
        white-space:normal!important;
        word-break:keep-all!important;
        overflow-wrap:anywhere!important;
        text-overflow:clip!important;
    }

    /* 강의유형 배지도 같은 행의 세로 중앙 */
    .program-row .program-col-type .program-badge{
        align-self:center!important;
        margin-top:0!important;
        margin-bottom:0!important;
    }
}
\n\n/* ===== PROGRAM01 v20 : view / write professional agency-style unification ===== */
.program-write-wrap,.program-view-wrap{
    color:#252d35;
    font-family:"Noto Sans KR","Pretendard",Arial,sans-serif;
}
.program-write-head,.program-view-head{
    margin:0 0 34px;
    padding:0 0 20px;
    text-align:left;
    border-bottom:1px solid #d7dce1;
}
.program-write-head h2,.program-view-head h2{
    margin:0 0 8px;
    color:#142844;
    font-size:27px;
    line-height:1.35;
    font-weight:700;
    letter-spacing:-.7px;
}
.program-write-head p,.program-view-head p{
    margin:0;
    color:#66717c;
    font-size:15px;
    line-height:1.7;
    font-weight:400;
    letter-spacing:-.2px;
}
.program-write-card,.program-view-card{
    border-top:3px solid #142844;
    border-bottom:1px solid #cfd5dc;
    background:#fff;
    box-shadow:none;
    border-radius:0;
}
.program-field{
    grid-template-columns:150px minmax(0,1fr);
    gap:22px;
    min-height:72px;
    padding:18px 20px;
    border-bottom:1px solid #e0e4e8;
    align-items:center;
}
.program-field>label,.program-label{
    margin:0;
    color:#202830;
    font-size:16px;
    line-height:1.45;
    font-weight:700;
    letter-spacing:-.25px;
}
.program-field em{color:#a86f17;font-size:12px;font-weight:600;margin-left:5px}
.program-label small{display:inline;margin-left:7px;color:#7b858f;font-size:12px;font-weight:400}
.program-field select,.program-field input[type=text]{
    height:46px;
    padding:0 13px;
    border:1px solid #c9d0d7;
    border-radius:0;
    background:#fff;
    color:#252d35;
    font-family:inherit;
    font-size:15px;
    font-weight:400;
    letter-spacing:-.2px;
    box-shadow:none;
}
.program-field select:hover,.program-field input[type=text]:hover{border-color:#9fa9b3}
.program-field select:focus,.program-field input[type=text]:focus{border-color:#142844;box-shadow:0 0 0 1px #142844}
.program-choice-row{gap:7px}
.program-choice span{
    min-width:88px;
    height:42px;
    padding:0 15px;
    border:1px solid #cbd2d9;
    border-radius:0;
    background:#fff;
    color:#3f4a55;
    font-size:14px;
    line-height:1.35;
    font-weight:600;
    letter-spacing:-.2px;
    box-shadow:none;
}
.program-choice:hover span{border-color:#142844;color:#142844;background:#fafbfc}
.program-choice input:checked+span{background:#142844;border-color:#142844;color:#fff;box-shadow:inset 0 -3px #c7923e}
.program-choice.disabled span{background:#f5f6f7;border-color:#dde1e5;color:#a0a7ae;cursor:not-allowed}
.program-field-help{margin:3px 0 0;color:#776344;font-size:13px;line-height:1.6}
.program-warning{padding:12px 14px;border:1px solid #ddd3c2;background:#fbfaf7;color:#6e6049;font-size:14px;line-height:1.6}
.program-write-card .wr_content textarea{
    min-height:240px!important;
    padding:14px!important;
    border:1px solid #c9d0d7!important;
    border-radius:0!important;
    color:#252d35!important;
    font-family:"Noto Sans KR","Pretendard",Arial,sans-serif!important;
    font-size:15px!important;
    line-height:1.8!important;
    box-shadow:none!important;
}
.program-write-actions,.program-view-actions{margin-top:30px;gap:7px}
.program-btn-cancel,.program-btn-submit,.program-btn-delete{
    min-width:106px;
    height:44px;
    padding:0 20px;
    border-radius:0;
    font-family:inherit;
    font-size:14px;
    line-height:1;
    font-weight:600;
    letter-spacing:-.2px;
    box-shadow:none;
}
.program-btn-cancel{border:1px solid #bfc7cf;background:#fff;color:#39444e!important}
.program-btn-submit{border:1px solid #142844;background:#142844;color:#fff!important}
.program-btn-delete{border:1px solid #cdbbbb;background:#fff;color:#914141!important}
.program-btn-cancel:hover{border-color:#142844;color:#142844!important}
.program-btn-submit:hover{background:#0f2037}

/* 관리자 상세 : 목록의 표 구조와 같은 선/타이포 위계 */
.program-view-meta>div{grid-template-columns:150px minmax(0,1fr);border-bottom:1px solid #e0e4e8}
.program-view-meta dt,.program-view-meta dd{padding:18px 20px;font-family:inherit}
.program-view-meta dt{
    display:flex;align-items:center;
    background:#fff;
    color:#202830;
    border-right:1px solid #e0e4e8;
    font-size:16px;
    font-weight:700;
    letter-spacing:-.25px;
}
.program-view-meta dd{display:flex;align-items:center;min-width:0;color:#252d35;font-size:15px;line-height:1.65;font-weight:400}
.program-meta-pill{
    padding:0;
    background:transparent;
    color:#142844;
    font-size:15px;
    line-height:1.5;
    font-weight:700;
}
.program-view-badges{gap:6px}
.program-view-badges .program-badge{font-size:13px;font-weight:700;padding:5px 9px}
.program-view-section{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    padding:0;
    border-bottom:1px solid #e0e4e8;
}
.program-view-section:last-child{border-bottom:0}
.program-view-section h3{
    display:flex;align-items:center;
    margin:0;
    padding:20px;
    border-right:1px solid #e0e4e8;
    color:#202830;
    font-size:16px;
    line-height:1.45;
    font-weight:700;
    letter-spacing:-.25px;
}
.program-view-subject,.program-view-content{padding:20px;box-sizing:border-box}
.program-view-subject{
    color:#17212b;
    font-size:16px;
    line-height:1.7;
    font-weight:600;
    letter-spacing:-.25px;
}
.program-view-content{
    color:#252d35;
    font-size:16px;
    line-height:1.85;
    font-weight:300;
    letter-spacing:-.15px;
    word-break:keep-all;
    overflow-wrap:anywhere;
}

@media(max-width:768px){
    .program-write-head,.program-view-head{margin-bottom:26px;padding-bottom:16px}
    .program-write-head h2,.program-view-head h2{font-size:22px;letter-spacing:-.5px}
    .program-write-head p,.program-view-head p{font-size:14px}
    .program-field{grid-template-columns:1fr;gap:9px;min-height:0;padding:17px 0;align-items:start}
    .program-field>label,.program-label{font-size:15px}
    .program-label small{font-size:12px}
    .program-field-help,.program-warning{grid-column:1}
    .program-field select,.program-field input[type=text]{height:44px;font-size:15px}
    .program-choice-row{gap:6px}
    .program-choice span{min-width:76px;height:40px;padding:0 12px;font-size:13px}
    .lecture-choice .program-choice span{min-width:0}
    .program-write-card,.program-view-card{border-top-width:2px}
    .program-write-card{padding:0 14px}
    .program-write-actions,.program-view-actions{margin-top:24px}
    .program-btn-cancel,.program-btn-submit,.program-btn-delete{min-width:92px;height:42px;padding:0 16px;font-size:13px}

    .program-view-meta>div,.program-view-section{grid-template-columns:92px minmax(0,1fr)}
    .program-view-meta dt,.program-view-meta dd{padding:15px 12px}
    .program-view-meta dt,.program-view-section h3{font-size:14px}
    .program-view-meta dt{border-right:1px solid #e0e4e8}
    .program-view-meta dd{font-size:14px}
    .program-meta-pill{font-size:14px}
    .program-view-section h3{padding:16px 12px}
    .program-view-subject,.program-view-content{padding:16px 12px}
    .program-view-subject{font-size:15px;line-height:1.65}
    .program-view-content{font-size:15px;line-height:1.8}
}


/* ===== PROGRAM01 v21 : view/write tone, choice buttons, footer spacing ===== */

/* 전체 텍스트 대비 강화 - 흐릿한 회색/얇은 글씨 제거 */
.program-write-wrap,
.program-view-wrap{
    color:#202830 !important;
}

.program-write-head p,
.program-view-head p{
    color:#4f5a65 !important;
    font-weight:400 !important;
}

.program-field>label,
.program-label,
.program-view-meta dt,
.program-view-section h3{
    color:#17212b !important;
}

.program-field select,
.program-field input[type=text],
.program-view-meta dd{
    color:#202830 !important;
}

.program-field-help{
    color:#665638 !important;
}

.program-view-content{
    color:#202830 !important;
    font-weight:400 !important;
}

/* 선택 탭 - 과한 네이비 면/골드 밑줄 제거, 단순한 선택 상태 */
.program-choice span{
    border:1px solid #cbd2d9 !important;
    background:#fff !important;
    color:#35404a !important;
    box-shadow:none !important;
}

.program-choice:hover span{
    border-color:#8f9aa5 !important;
    background:#f7f8f9 !important;
    color:#142844 !important;
}

.program-choice input:checked+span{
    border-color:#142844 !important;
    background:#eef2f6 !important;
    color:#142844 !important;
    box-shadow:none !important;
    font-weight:700 !important;
}

.program-choice.disabled span{
    border-color:#dde1e5 !important;
    background:#f5f6f7 !important;
    color:#9aa2aa !important;
}

/* 하단 버튼과 tail 사이 여백 확보 */
.program-write-wrap,
.program-view-wrap{
    padding-bottom:70px !important;
}

.program-write-actions,
.program-view-actions{
    margin-top:30px !important;
    margin-bottom:0 !important;
}

@media(max-width:768px){
    .program-write-wrap,
    .program-view-wrap{
        padding-bottom:50px !important;
    }

    .program-write-head p,
    .program-view-head p{
        color:#46515c !important;
    }

    .program-view-content{
        color:#202830 !important;
        font-weight:400 !important;
    }
}


/* ===== PROGRAM01 v22 : 프로그램 안내 설명 영역 ===== */
.program-intro{
    width:100%;
    margin:0 0 30px;
    padding:22px 28px 21px;
    background:#f8f9fa;
    border-top:2px solid #142844;
    border-bottom:1px solid #dfe3e7;
    box-sizing:border-box;
}

.program-intro ul{
    margin:0;
    padding:0;
    list-style:none;
}

.program-intro li{
    position:relative;
    margin:0;
    padding:4px 0 4px 17px;
    color:#303942;
    font-family:"Noto Sans KR","Pretendard",Arial,sans-serif;
    font-size:15px;
    line-height:1.65;
    font-weight:400;
    letter-spacing:-.02em;
    word-break:keep-all;
}

.program-intro li:before{
    content:"";
    position:absolute;
    left:0;
    top:15px;
    width:6px;
    height:2px;
    background:#c7923e;
}

@media(max-width:768px){
    .program-intro{
        margin-bottom:24px;
        padding:17px 18px 16px;
    }

    .program-intro li{
        padding:3px 0 3px 15px;
        font-size:14px;
        line-height:1.6;
    }

    .program-intro li:before{
        top:13px;
        width:5px;
    }
}


/* ===== PROGRAM01 v23 : intro placement correction ===== */
.program01-wrap > .program-intro{
    max-width:100%;
    margin:0 0 26px !important;
}
.program01-wrap > .program-intro + .program-course-tabs{
    margin-top:0 !important;
}

@media(max-width:768px){
    .program01-wrap > .program-intro{
        margin-bottom:20px !important;
    }
}


/* ===== PROGRAM01 v24 : intro typography / refined agency-style detail ===== */
.program01-wrap > .program-intro{
    position:relative;
    margin:0 0 30px !important;
    padding:24px 30px 23px 34px !important;
    background:#f7f8fa !important;
    border:0 !important;
    border-top:2px solid #142844 !important;
    border-bottom:1px solid #d9dee4 !important;
    box-shadow:none !important;
}

.program01-wrap > .program-intro:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:#c7923e;
}

.program01-wrap > .program-intro:after{
    content:"PROGRAM GUIDE";
    position:absolute;
    right:28px;
    top:22px;
    color:#a5abb2;
    font-family:Arial,sans-serif;
    font-size:10px;
    line-height:1;
    font-weight:600;
    letter-spacing:.12em;
}

.program01-wrap > .program-intro ul{
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

.program01-wrap > .program-intro li{
    position:relative;
    margin:0 !important;
    padding:4px 115px 4px 18px !important;
    color:#26313b !important;
    font-family:"Noto Sans KR","Pretendard",Arial,sans-serif !important;
    font-size:16px !important;
    line-height:1.6 !important;
    font-weight:500 !important;
    letter-spacing:-.025em !important;
    word-break:keep-all !important;
}

.program01-wrap > .program-intro li:before{
    content:"";
    position:absolute;
    left:0;
    top:15px;
    width:7px;
    height:2px;
    background:#c7923e;
}

@media(max-width:768px){
    .program01-wrap > .program-intro{
        margin-bottom:22px !important;
        padding:19px 18px 18px 22px !important;
    }

    .program01-wrap > .program-intro:before{
        width:3px;
    }

    .program01-wrap > .program-intro:after{
        display:none;
    }

    .program01-wrap > .program-intro li{
        padding:4px 0 4px 16px !important;
        font-size:15px !important;
        line-height:1.65 !important;
        font-weight:500 !important;
    }

    .program01-wrap > .program-intro li:before{
        top:15px;
        width:6px;
    }
}
\n\n/* ===== PROGRAM01 v25 : academic 4-point intro ===== */\n.program01-wrap > .program-intro{\n    display:grid !important;\n    grid-template-columns:repeat(2,minmax(0,1fr)) !important;\n    gap:0 !important;\n    margin:0 0 34px !important;\n    padding:0 !important;\n    background:#fff !important;\n    border:1px solid #d9dee4 !important;\n    border-top:3px solid #142844 !important;\n    box-shadow:none !important;\n}\n.program01-wrap > .program-intro:before,\n.program01-wrap > .program-intro:after{display:none !important;}\n.program-intro-item{\n    position:relative;\n    display:flex;\n    align-items:center;\n    min-height:108px;\n    padding:22px 30px;\n    box-sizing:border-box;\n    background:#fff;\n}\n.program-intro-item:nth-child(odd){border-right:1px solid #e1e5e9;}\n.program-intro-item:nth-child(-n+2){border-bottom:1px solid #e1e5e9;}\n.program-intro-icon{\n    flex:0 0 58px;\n    width:58px;\n    height:58px;\n    margin-right:20px;\n    display:flex;\n    align-items:center;\n    justify-content:center;\n    border:1px solid #cfd6dd;\n    color:#142844;\n    font-size:23px;\n    line-height:1;\n    background:#fff;\n}\n.program-intro-item:before{\n    content:"";\n    position:absolute;\n    left:0;\n    top:25px;\n    bottom:25px;\n    width:3px;\n    background:#c7923e;\n}\n.program-intro-item strong{\n    display:block;\n    color:#17212b;\n    font-family:"Noto Sans KR","Pretendard",Arial,sans-serif;\n    font-size:18px;\n    line-height:1.5;\n    font-weight:600;\n    letter-spacing:-.035em;\n    word-break:keep-all;\n}\n@media(max-width:900px){\n    .program-intro-item{padding:20px 22px;min-height:100px;}\n    .program-intro-icon{flex-basis:52px;width:52px;height:52px;margin-right:16px;font-size:21px;}\n    .program-intro-item strong{font-size:17px;}\n}\n@media(max-width:768px){\n    .program01-wrap > .program-intro{\n        grid-template-columns:1fr !important;\n        margin-bottom:26px !important;\n    }\n    .program-intro-item{\n        min-height:84px;\n        padding:15px 16px 15px 19px;\n        border-right:0 !important;\n        border-bottom:1px solid #e1e5e9 !important;\n    }\n    .program-intro-item:last-child{border-bottom:0 !important;}\n    .program-intro-item:before{top:18px;bottom:18px;width:2px;}\n    .program-intro-icon{\n        flex-basis:46px;width:46px;height:46px;\n        margin-right:14px;font-size:19px;\n    }\n    .program-intro-item strong{font-size:16px;line-height:1.45;font-weight:600;}\n}\n

/* ===== PROGRAM01 v26 : reference-style 4 program points / title only ===== */
.program01-wrap > .program-intro{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:64px !important;
    row-gap:26px !important;
    margin:0 0 38px !important;
    padding:30px 34px !important;
    background:#f8f9fb !important;
    border:0 !important;
    border-top:2px solid #142844 !important;
    border-bottom:1px solid #dce1e6 !important;
    box-shadow:none !important;
}

.program01-wrap > .program-intro:before,
.program01-wrap > .program-intro:after{
    display:none !important;
}

.program01-wrap .program-intro-item{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    min-height:64px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
}

.program01-wrap .program-intro-icon{
    position:relative !important;
    flex:0 0 58px !important;
    width:58px !important;
    height:58px !important;
    margin:0 38px 0 0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:0 !important;
    border-radius:50% !important;
    background:#142844 !important;
    color:#fff !important;
    font-size:23px !important;
    line-height:1 !important;
    box-shadow:none !important;
}

.program01-wrap .program-intro-icon:after{
    content:"" !important;
    position:absolute !important;
    top:4px !important;
    bottom:4px !important;
    right:-20px !important;
    width:1px !important;
    background:#aeb6bf !important;
}

.program01-wrap .program-intro-item:before,
.program01-wrap .program-intro-item:after{
    display:none !important;
}

.program01-wrap .program-intro-item strong{
    display:block !important;
    margin:0 !important;
    color:#17212b !important;
    font-family:"Noto Sans KR","Pretendard",Arial,sans-serif !important;
    font-size:18px !important;
    line-height:1.45 !important;
    font-weight:700 !important;
    letter-spacing:-.035em !important;
    word-break:keep-all !important;
}

/* 혹시 이전 버전의 작은 설명 요소가 남아 있어도 표시하지 않음 */
.program01-wrap .program-intro-item p,
.program01-wrap .program-intro-item small,
.program01-wrap .program-intro-desc{
    display:none !important;
}

@media(max-width:900px){
    .program01-wrap > .program-intro{
        column-gap:34px !important;
        padding:26px 24px !important;
    }

    .program01-wrap .program-intro-icon{
        flex-basis:52px !important;
        width:52px !important;
        height:52px !important;
        margin-right:32px !important;
        font-size:21px !important;
    }

    .program01-wrap .program-intro-icon:after{
        right:-17px !important;
    }

    .program01-wrap .program-intro-item strong{
        font-size:17px !important;
    }
}

@media(max-width:768px){
    .program01-wrap > .program-intro{
        grid-template-columns:1fr !important;
        row-gap:0 !important;
        margin-bottom:28px !important;
        padding:8px 18px !important;
    }

    .program01-wrap .program-intro-item{
        min-height:82px !important;
        padding:14px 0 !important;
        border-bottom:1px solid #e0e4e8 !important;
    }

    .program01-wrap .program-intro-item:last-child{
        border-bottom:0 !important;
    }

    .program01-wrap .program-intro-icon{
        flex-basis:48px !important;
        width:48px !important;
        height:48px !important;
        margin-right:30px !important;
        font-size:19px !important;
    }

    .program01-wrap .program-intro-icon:after{
        top:3px !important;
        bottom:3px !important;
        right:-16px !important;
    }

    .program01-wrap .program-intro-item strong{
        font-size:16px !important;
        line-height:1.45 !important;
        font-weight:700 !important;
    }
}


/* ===== PROGRAM01 v27 : intro explicit 2 x 2 desktop grid ===== */
.program01-wrap .program-intro{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    gap:24px 60px !important;
}

.program01-wrap .program-intro > .program-intro-item{
    display:flex !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
}

@media(min-width:769px){
    .program01-wrap .program-intro > .program-intro-item:nth-child(1){grid-column:1;grid-row:1;}
    .program01-wrap .program-intro > .program-intro-item:nth-child(2){grid-column:1;grid-row:2;}
    .program01-wrap .program-intro > .program-intro-item:nth-child(3){grid-column:2;grid-row:1;}
    .program01-wrap .program-intro > .program-intro-item:nth-child(4){grid-column:2;grid-row:2;}
}

@media(max-width:768px){
    .program01-wrap .program-intro{
        grid-template-columns:1fr !important;
        grid-template-rows:none !important;
        gap:0 !important;
    }

    .program01-wrap .program-intro > .program-intro-item{
        grid-column:auto !important;
        grid-row:auto !important;
    }
}


/* ===== PROGRAM02 ENGINEERING : v27 design language ===== */
#program01.program01-wrap .engineering-intro{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:22px 58px !important;
    padding:28px 32px !important;
}
#program01 .engineering-intro .program-intro-lead{
    grid-column:1 / -1 !important;
    display:flex !important;
    align-items:center !important;
    min-height:64px !important;
    padding:0 0 20px !important;
    border-bottom:1px solid #dce1e6 !important;
}
#program01 .engineering-intro .program-intro-lead .program-intro-icon{
    flex:0 0 58px !important;
    width:58px !important;
    height:58px !important;
    margin-right:38px !important;
}
#program01 .engineering-intro .program-intro-lead strong{
    color:#142844 !important;
    font-size:19px !important;
    line-height:1.5 !important;
    font-weight:700 !important;
    letter-spacing:-.035em !important;
}
#program01 .engineering-intro .program-intro-item strong{
    font-size:17px !important;
}
#program01 .engineering-intro .program-intro-item strong em{
    display:block !important;
    margin-top:3px !important;
    color:#58636e !important;
    font-size:14px !important;
    line-height:1.5 !important;
    font-style:normal !important;
    font-weight:400 !important;
    letter-spacing:-.025em !important;
}

/* 공학 스킨 목록: 번호 | 소주제/강의명 | 강의설명 */
#program01 .engineering-subject .program-tr{
    grid-template-columns:76px minmax(260px,34%) minmax(0,1fr) !important;
}
#program01 .engineering-subject .program-col-title{
    border-left:1px solid #d5dbe1 !important;
}
#program01 .engineering-subject .program-col-content{
    border-left:1px solid #d5dbe1 !important;
}
#program01 .engineering-subject .program-head .program-col-title{
    color:#10243f !important;
}
#program01 .engineering-subject .program-head .program-col-content{
    color:#202830 !important;
}

@media(max-width:1070px) and (min-width:769px){
    #program01 .engineering-subject .program-tr{
        grid-template-columns:64px minmax(190px,32%) minmax(0,1fr) !important;
    }
}

@media(max-width:768px){
    #program01.program01-wrap .engineering-intro{
        grid-template-columns:1fr !important;
        gap:0 !important;
        padding:8px 18px !important;
    }
    #program01 .engineering-intro .program-intro-lead{
        grid-column:auto !important;
        min-height:82px !important;
        padding:14px 0 !important;
    }
    #program01 .engineering-intro .program-intro-lead .program-intro-icon{
        flex-basis:48px !important;
        width:48px !important;
        height:48px !important;
        margin-right:30px !important;
    }
    #program01 .engineering-intro .program-intro-lead strong{
        font-size:16px !important;
    }
    #program01 .engineering-intro .program-intro-item strong{
        font-size:16px !important;
    }
    #program01 .engineering-intro .program-intro-item strong em{
        font-size:13px !important;
    }

    #program01 .engineering-subject .program-tr.program-head{
        display:none !important;
    }
    #program01 .engineering-subject .program-tr.program-row{
        display:grid !important;
        grid-template-columns:52px 92px minmax(0,1fr) !important;
        grid-template-rows:auto auto !important;
    }
    #program01 .engineering-subject .program-col-num{
        grid-column:1 !important;
        grid-row:1 / 3 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        border-right:1px solid #d5dbe1 !important;
    }
    #program01 .engineering-subject .program-col-title,
    #program01 .engineering-subject .program-col-content{
        grid-column:2 / 4 !important;
        display:grid !important;
        grid-template-columns:92px minmax(0,1fr) !important;
        min-height:48px !important;
        padding:0 !important;
        border-left:0 !important;
    }
    #program01 .engineering-subject .program-col-title{
        grid-row:1 !important;
        border-bottom:1px solid #d5dbe1 !important;
    }
    #program01 .engineering-subject .program-col-content{
        grid-row:2 !important;
    }
    #program01 .engineering-subject .program-col-title:before,
    #program01 .engineering-subject .program-col-content:before{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        align-self:stretch !important;
        padding:10px 8px !important;
        border-right:1px solid #d5dbe1 !important;
        color:#17212b !important;
        font-size:15px !important;
        font-weight:700 !important;
        white-space:normal !important;
        text-align:center !important;
    }
    #program01 .engineering-subject .program-col-title:before{content:"소주제/강의명" !important;}
    #program01 .engineering-subject .program-col-content:before{content:"강의설명" !important;}
    #program01 .engineering-subject .program-col-title strong,
    #program01 .engineering-subject .program-col-title .program-admin-view,
    #program01 .engineering-subject .program-col-content{
        font-size:15px !important;
    }
    #program01 .engineering-subject .program-col-title strong,
    #program01 .engineering-subject .program-col-title .program-admin-view{
        display:flex !important;
        align-items:center !important;
        padding:11px 12px !important;
    }
    #program01 .engineering-subject .program-col-content{
        align-items:stretch !important;
    }
    #program01 .engineering-subject .program-col-content:not(:before){
        padding:0 !important;
    }
}


/* ===== PROGRAM02 v2 : course tab -> free major topic groups ===== */
#program02 .engineering-overview{
    margin:0 0 34px;
    padding:28px 32px 30px;
    background:#f8f9fb;
    border-top:2px solid #142844;
    border-bottom:1px solid #dce1e6;
}
#program02 .engineering-overview-lead{
    position:relative;
    display:flex;
    align-items:center;
    min-height:42px;
    margin:0 0 24px;
    padding:0 0 20px 17px;
    border-bottom:1px solid #dce1e6;
}
#program02 .engineering-overview-mark{
    position:absolute;
    left:0;
    top:5px;
    bottom:25px;
    width:3px;
    background:#c7923e;
}
#program02 .engineering-overview-lead strong{
    color:#142844;
    font-size:19px;
    line-height:1.5;
    font-weight:700;
    letter-spacing:-.035em;
}
#program02 .engineering-overview-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 58px;
}
#program02 .engineering-overview-item{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:36px;
    align-items:center;
    min-height:64px;
}
#program02 .engineering-overview-item .program-intro-icon{
    grid-column:1;
    grid-row:1 / 3;
    position:relative;
    width:58px;
    height:58px;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#142844;
    color:#fff;
    font-size:22px;
}
#program02 .engineering-overview-item .program-intro-icon:after{
    content:"";
    position:absolute;
    right:-19px;
    top:4px;
    bottom:4px;
    width:1px;
    background:#aeb6bf;
}
#program02 .engineering-overview-item strong{
    grid-column:2;
    color:#17212b;
    font-size:17px;
    line-height:1.45;
    font-weight:700;
    letter-spacing:-.035em;
}
#program02 .engineering-overview-item > span:last-child:not(.program-intro-icon){
    grid-column:2;
    color:#58636e;
    font-size:14px;
    line-height:1.45;
    font-weight:400;
}

/* 4개 과정 탭 PC 한 줄 4등분 */
#program02 .engineering-course-tabs{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    width:100% !important;
    max-width:900px !important;
}
#program02 .engineering-course-tabs a{
    width:auto !important;
    min-width:0 !important;
    white-space:nowrap !important;
}

/* 대주제별 목록 */
#program02 .engineering-major .program-subject-title{
    margin-bottom:10px;
}
#program02 .engineering-major .program-subject-title h3{
    font-size:20px;
}
#program02 .engineering-major .program-tr{
    grid-template-columns:76px minmax(260px,34%) minmax(0,1fr) !important;
}
#program02 .engineering-major .program-col-title,
#program02 .engineering-major .program-col-content{
    border-left:1px solid #d5dbe1 !important;
}

@media(max-width:1070px) and (min-width:769px){
    #program02 .engineering-course-tabs a{
        font-size:14px !important;
        padding-left:8px !important;
        padding-right:8px !important;
    }
    #program02 .engineering-major .program-tr{
        grid-template-columns:64px minmax(200px,34%) minmax(0,1fr) !important;
    }
}

@media(max-width:768px){
    #program02 .engineering-overview{
        padding:18px 18px 12px;
        margin-bottom:24px;
    }
    #program02 .engineering-overview-lead{
        margin-bottom:4px;
        padding:0 0 16px 13px;
    }
    #program02 .engineering-overview-lead strong{
        font-size:16px;
    }
    #program02 .engineering-overview-grid{
        grid-template-columns:1fr;
        gap:0;
    }
    #program02 .engineering-overview-item{
        grid-template-columns:48px minmax(0,1fr);
        min-height:76px;
        column-gap:30px;
        padding:10px 0;
        border-bottom:1px solid #e0e4e8;
    }
    #program02 .engineering-overview-item:last-child{
        border-bottom:0;
    }
    #program02 .engineering-overview-item .program-intro-icon{
        width:48px;
        height:48px;
        font-size:19px;
    }
    #program02 .engineering-overview-item .program-intro-icon:after{
        right:-16px;
    }
    #program02 .engineering-overview-item strong{
        font-size:16px;
    }
    #program02 .engineering-overview-item > span:last-child:not(.program-intro-icon){
        font-size:13px;
    }

    /* 모바일 과정탭은 2 x 2 */
    #program02 .engineering-course-tabs{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        max-width:none !important;
    }
    #program02 .engineering-course-tabs a{
        white-space:normal !important;
        line-height:1.35 !important;
    }

    #program02 .engineering-major .program-subject-title h3{
        font-size:20px !important;
    }
    #program02 .engineering-major .program-head{
        display:none !important;
    }
    #program02 .engineering-major .program-row{
        display:grid !important;
        grid-template-columns:52px 96px minmax(0,1fr) !important;
        grid-template-rows:auto auto !important;
    }
    #program02 .engineering-major .program-col-num{
        grid-column:1 !important;
        grid-row:1 / 3 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        border-right:1px solid #d5dbe1 !important;
    }
    #program02 .engineering-major .program-col-title,
    #program02 .engineering-major .program-col-content{
        grid-column:2 / 4 !important;
        display:grid !important;
        grid-template-columns:96px minmax(0,1fr) !important;
        min-height:48px !important;
        padding:0 !important;
        border-left:0 !important;
    }
    #program02 .engineering-major .program-col-title{
        grid-row:1 !important;
        border-bottom:1px solid #d5dbe1 !important;
    }
    #program02 .engineering-major .program-col-content{
        grid-row:2 !important;
    }
    #program02 .engineering-major .program-col-title:before,
    #program02 .engineering-major .program-col-content:before{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        align-self:stretch !important;
        padding:9px 6px !important;
        border-right:1px solid #d5dbe1 !important;
        color:#17212b !important;
        font-size:14px !important;
        line-height:1.35 !important;
        font-weight:700 !important;
        text-align:center !important;
        white-space:normal !important;
    }
    #program02 .engineering-major .program-col-title:before{content:"소주제/강의명" !important;}
    #program02 .engineering-major .program-col-content:before{content:"강의설명" !important;}
    #program02 .engineering-major .program-col-title strong,
    #program02 .engineering-major .program-col-title .program-admin-view{
        display:flex !important;
        align-items:center !important;
        padding:11px 12px !important;
        font-size:15px !important;
    }
    #program02 .engineering-major .program-col-content{
        font-size:15px !important;
        line-height:1.65 !important;
    }
}


/* ===== PROGRAM04 SCIENCE ADMISSION : based on program02 ===== */
#program04.program04-wrap{
    font-family:"Noto Sans KR","Pretendard",Arial,sans-serif;
}

/* 상단 3개 설명 - 기존 프로그램 계열과 동일한 문서형 톤 */
#program04 .science-admission-intro{
    margin:0 0 34px;
    padding:24px 30px;
    border-top:2px solid #142844;
    border-bottom:1px solid #d8dde2;
    background:#f8f9fb;
}
#program04 .science-admission-intro-item{
    position:relative;
    display:flex;
    align-items:flex-start;
    min-height:30px;
    padding:5px 0 5px 20px;
}
#program04 .science-admission-bullet{
    position:absolute;
    left:1px;
    top:15px;
    width:7px;
    height:7px;
    background:#c7923e;
}
#program04 .science-admission-intro-item strong{
    color:#17212b;
    font-size:17px;
    line-height:1.65;
    font-weight:600;
    letter-spacing:-.03em;
}

/* 분류 탭 */
#program04 .science-course-tabs{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    width:100% !important;
    max-width:900px !important;
}
#program04 .science-course-tabs a{
    width:auto !important;
    min-width:0 !important;
    white-space:nowrap !important;
}

/* 좌측 분류 비주얼 + 우측 표 */
#program04 .science-program-panel{
    display:grid;
    grid-template-columns:270px minmax(0,1fr);
    gap:22px;
    align-items:stretch;
    margin-top:28px;
}
#program04 .science-category-visual{
    position:relative;
    min-height:330px;
    overflow:hidden;
    border-top:3px solid #142844;
    border-bottom:1px solid #d5dbe1;
    background:#f1f4f7 center center/cover no-repeat;
}
#program04 .science-category-visual.no-image{
    background:
        linear-gradient(145deg,rgba(20,40,68,.035),rgba(199,146,62,.035)),
        #f4f6f8;
}
#program04 .science-category-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom,rgba(255,255,255,.05) 0%,rgba(255,255,255,.22) 45%,rgba(20,40,68,.12) 100%);
}
#program04 .science-category-visual.no-image .science-category-overlay{
    background:
        linear-gradient(135deg,transparent 0 62%,rgba(20,40,68,.035) 62% 63%,transparent 63% 100%);
}
#program04 .science-category-copy{
    position:relative;
    z-index:2;
    padding:34px 28px;
}
#program04 .science-category-copy span{
    display:block;
    margin-bottom:8px;
    color:#8b96a3;
    font-size:11px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.14em;
}
#program04 .science-category-copy h3{
    margin:0;
    color:#142844;
    font-size:30px;
    line-height:1.25;
    font-weight:700;
    letter-spacing:-.045em;
}
#program04 .science-category-copy i{
    display:block;
    width:28px;
    height:2px;
    margin-top:18px;
    background:#c7923e;
}

/* 표 */
#program04 .science-program-table-wrap{
    min-width:0;
}
#program04 .science-program-table{
    border-top:3px solid #142844;
}
#program04 .science-program-table .program-tr{
    grid-template-columns:100px minmax(230px,36%) minmax(0,1fr) !important;
}
#program04 .science-program-table .program-col-title,
#program04 .science-program-table .program-col-content{
    border-left:1px solid #d5dbe1 !important;
}
#program04 .science-program-table .program-head .program-col-num{
    color:#202830 !important;
}
#program04 .science-program-table .program-head .program-col-title{
    color:#10243f !important;
}
#program04 .science-program-table .program-head .program-col-content{
    color:#202830 !important;
}
#program04 .science-program-table .program-number{
    color:#142844;
    font-size:15px;
    font-weight:600;
}
#program04 .science-program-table .program-col-title strong,
#program04 .science-program-table .program-admin-view{
    color:#17212b;
    font-size:16px;
    font-weight:600;
}
#program04 .science-program-table .program-col-content{
    color:#252d35;
    font-size:15px;
    font-weight:400;
    line-height:1.65;
}
#program04 .science-program-empty{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:150px;
    border-bottom:1px solid #d5dbe1;
    color:#89939d;
    font-size:14px;
}

/* 이미지 파일은 img/physics.jpg, chemistry.jpg, biomedical.jpg, earth.jpg */
@media(max-width:1070px) and (min-width:769px){
    #program04 .science-program-panel{
        grid-template-columns:220px minmax(0,1fr);
        gap:18px;
    }
    #program04 .science-category-visual{
        min-height:300px;
    }
    #program04 .science-program-table .program-tr{
        grid-template-columns:82px minmax(190px,34%) minmax(0,1fr) !important;
    }
}

@media(max-width:768px){
    #program04 .science-admission-intro{
        margin-bottom:24px;
        padding:17px 18px;
    }
    #program04 .science-admission-intro-item{
        padding:5px 0 5px 17px;
    }
    #program04 .science-admission-bullet{
        top:14px;
        width:6px;
        height:6px;
    }
    #program04 .science-admission-intro-item strong{
        font-size:15px;
        line-height:1.6;
    }

    #program04 .science-course-tabs{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        max-width:none !important;
    }

    #program04 .science-program-panel{
        display:block;
        margin-top:22px;
    }
    #program04 .science-category-visual{
        min-height:145px;
        margin-bottom:18px;
        background-position:center center;
    }
    #program04 .science-category-copy{
        padding:26px 22px;
    }
    #program04 .science-category-copy span{
        font-size:10px;
    }
    #program04 .science-category-copy h3{
        font-size:24px;
    }

    #program04 .science-program-table .program-head{
        display:none !important;
    }
    #program04 .science-program-table .program-row{
        display:grid !important;
        grid-template-columns:58px 92px minmax(0,1fr) !important;
        grid-template-rows:auto auto !important;
    }
    #program04 .science-program-table .program-col-num{
        grid-column:1 !important;
        grid-row:1 / 3 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        padding:8px 4px !important;
        border-right:1px solid #d5dbe1 !important;
    }
    #program04 .science-program-table .program-col-title,
    #program04 .science-program-table .program-col-content{
        grid-column:2 / 4 !important;
        display:grid !important;
        grid-template-columns:92px minmax(0,1fr) !important;
        min-height:48px !important;
        padding:0 !important;
        border-left:0 !important;
    }
    #program04 .science-program-table .program-col-title{
        grid-row:1 !important;
        border-bottom:1px solid #d5dbe1 !important;
    }
    #program04 .science-program-table .program-col-content{
        grid-row:2 !important;
    }
    #program04 .science-program-table .program-col-title:before,
    #program04 .science-program-table .program-col-content:before{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        align-self:stretch !important;
        padding:9px 5px !important;
        border-right:1px solid #d5dbe1 !important;
        color:#17212b !important;
        font-size:14px !important;
        line-height:1.35 !important;
        font-weight:700 !important;
        text-align:center !important;
        white-space:normal !important;
    }
    #program04 .science-program-table .program-col-title:before{
        content:"대주제(분야)" !important;
    }
    #program04 .science-program-table .program-col-content:before{
        content:"키워드" !important;
    }
    #program04 .science-program-table .program-col-title strong,
    #program04 .science-program-table .program-admin-view{
        display:flex !important;
        align-items:center !important;
        padding:11px 12px !important;
        font-size:15px !important;
        white-space:normal !important;
        word-break:keep-all !important;
    }
    #program04 .science-program-table .program-col-content{
        font-size:15px !important;
        line-height:1.65 !important;
    }
}

/* ===== PROGRAM04 : 하단 여백 ===== */
#program04.program04-wrap{
    padding-bottom:80px !important;
}

@media(max-width:768px){
    #program04.program04-wrap{
        padding-bottom:55px !important;
    }
}
/* ===== PROGRAM04 v2 : category image text readability ===== */
#program04 .science-category-visual.has-image .science-category-overlay{
    background:linear-gradient(90deg,
        rgba(255,255,255,.90) 0%,
        rgba(255,255,255,.76) 34%,
        rgba(255,255,255,.28) 62%,
        rgba(255,255,255,0) 80%
    ) !important;
}
#program04 .science-category-copy span{
    color:#667586 !important;
    font-weight:700 !important;
    text-shadow:0 1px 1px rgba(255,255,255,.9) !important;
}
#program04 .science-category-copy h3{
    color:#10243f !important;
    font-weight:700 !important;
    text-shadow:0 1px 2px rgba(255,255,255,.95) !important;
}
#program04 .science-category-copy i{
    background:#c7923e !important;
}
@media(max-width:768px){
    #program04 .science-category-visual.has-image .science-category-overlay{
        background:linear-gradient(90deg,
            rgba(255,255,255,.92) 0%,
            rgba(255,255,255,.78) 38%,
            rgba(255,255,255,.30) 68%,
            rgba(255,255,255,0) 88%
        ) !important;
    }
}

/* ===== PROGRAM04 v3 : dark image overlay / white category title ===== */
#program04 .science-category-visual.has-image .science-category-overlay{
    background:linear-gradient(90deg,
        rgba(7,22,40,.82) 0%,
        rgba(10,28,49,.68) 38%,
        rgba(10,28,49,.30) 66%,
        rgba(10,28,49,0) 88%
    ) !important;
}
#program04 .science-category-copy span{
    color:rgba(255,255,255,.76) !important;
    font-weight:700 !important;
    text-shadow:0 1px 3px rgba(0,0,0,.35) !important;
}
#program04 .science-category-copy h3{
    color:#fff !important;
    font-weight:700 !important;
    text-shadow:0 2px 5px rgba(0,0,0,.45) !important;
}
#program04 .science-category-copy i{
    background:#d5a14a !important;
}
@media(max-width:768px){
    #program04 .science-category-visual.has-image .science-category-overlay{
        background:linear-gradient(90deg,
            rgba(7,22,40,.84) 0%,
            rgba(10,28,49,.70) 42%,
            rgba(10,28,49,.32) 70%,
            rgba(10,28,49,0) 92%
        ) !important;
    }
}


/* ===== PROGRAM04 v4 : intro icon layout / program01-02 family ===== */
#program04 .science-admission-intro-icons{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:22px 42px !important;
    margin:0 0 34px !important;
    padding:28px 30px !important;
    border-top:2px solid #142844 !important;
    border-bottom:1px solid #d8dde2 !important;
    background:#f8f9fb !important;
}
#program04 .science-admission-intro-icons .science-admission-intro-item{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
    min-height:62px !important;
    padding:0 !important;
}
#program04 .science-admission-intro-icons .science-admission-intro-item:nth-child(3){
    grid-column:1 / 2 !important;
}
#program04 .science-admission-intro-icons .science-admission-bullet{display:none !important;}
#program04 .science-admission-icon{
    flex:0 0 54px !important;
    width:54px !important;
    height:54px !important;
    margin-right:20px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#142844 !important;
}
#program04 .science-admission-icon:after{
    content:"" !important;
    display:block !important;
    width:1px !important;
    height:38px !important;
    margin-left:20px !important;
    background:#c8cfd6 !important;
}
#program04 .science-admission-icon svg{
    position:absolute !important;
    width:27px !important;
    height:27px !important;
    fill:none !important;
    stroke:#fff !important;
    stroke-width:1.7 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}
#program04 .science-admission-intro-icons .science-admission-intro-item strong{
    display:block !important;
    padding-left:20px !important;
    color:#17212b !important;
    font-size:17px !important;
    line-height:1.55 !important;
    font-weight:700 !important;
    letter-spacing:-.035em !important;
    word-break:keep-all !important;
}
@media(max-width:768px){
    #program04 .science-admission-intro-icons{
        grid-template-columns:1fr !important;
        gap:14px !important;
        padding:20px 18px !important;
        margin-bottom:25px !important;
    }
    #program04 .science-admission-intro-icons .science-admission-intro-item:nth-child(3){grid-column:auto !important;}
    #program04 .science-admission-intro-icons .science-admission-intro-item{min-height:54px !important;}
    #program04 .science-admission-icon{
        flex-basis:48px !important;width:48px !important;height:48px !important;margin-right:14px !important;
    }
    #program04 .science-admission-icon:after{height:34px !important;margin-left:14px !important;}
    #program04 .science-admission-icon svg{width:24px !important;height:24px !important;}
    #program04 .science-admission-intro-icons .science-admission-intro-item strong{
        padding-left:14px !important;font-size:15px !important;line-height:1.55 !important;
    }
}


/* ===== PROGRAM04 v5 : intro area aligned with PROGRAM01 ===== */
#program04 .science-admission-intro{
    width:100%!important;max-width:none!important;box-sizing:border-box!important;
    margin-left:0!important;margin-right:0!important;padding:24px 28px!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:46px!important;row-gap:18px!important;
}
#program04 .science-admission-intro-item{
    display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;
    column-gap:18px!important;align-items:center!important;
    min-width:0!important;min-height:54px!important;padding:0!important;
}
#program04 .science-admission-intro-item:before,
#program04 .science-admission-intro-item:after,
#program04 .science-admission-bullet{display:none!important;}
#program04 .science-admission-intro-item:nth-child(3){grid-column:1!important;}
#program04 .science-admission-intro-item strong{
    position:relative!important;display:flex!important;align-items:center!important;
    min-height:54px!important;margin:0!important;padding-left:18px!important;
    border-left:1px solid #bfc6cd!important;
    color:#17212b!important;font-size:16px!important;line-height:1.5!important;
    font-weight:600!important;letter-spacing:-.035em!important;
}
#program04 .science-admission-icon,
#program04 .program-intro-icon{
    width:48px!important;height:48px!important;min-width:48px!important;
    margin:0!important;border-radius:50%!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
}
@media(max-width:768px){
    #program04 .science-admission-intro{
        grid-template-columns:1fr!important;gap:14px!important;padding:18px 16px!important;
    }
    #program04 .science-admission-intro-item,
    #program04 .science-admission-intro-item:nth-child(3){
        grid-column:1!important;grid-template-columns:46px minmax(0,1fr)!important;
        column-gap:14px!important;min-height:48px!important;
    }
    #program04 .science-admission-intro-item strong{
        min-height:48px!important;padding-left:14px!important;font-size:15px!important;
    }
    #program04 .science-admission-icon,
    #program04 .program-intro-icon{
        width:42px!important;height:42px!important;min-width:42px!important;
    }
}


/* ===== PROGRAM04 FINAL : intro icon divider / vertical center fix ===== */
#program04 .science-admission-intro-item{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr)!important;
    column-gap:18px!important;
    align-items:center!important;
}

/* 아이콘 원 내부에 잘못 보이던 세로선 완전 제거 */
#program04 .science-admission-icon,
#program04 .program-intro-icon,
#program04 .science-admission-intro-item > i{
    position:relative!important;
    border-left:0!important;
    border-right:0!important;
    box-shadow:none!important;
}
#program04 .science-admission-icon:before,
#program04 .science-admission-icon:after,
#program04 .program-intro-icon:before,
#program04 .program-intro-icon:after,
#program04 .science-admission-intro-item > i:before,
#program04 .science-admission-intro-item > i:after{
    border-left:0!important;
    border-right:0!important;
}

/* 구분선은 글자영역 왼쪽에만 */
#program04 .science-admission-intro-item strong{
    align-self:stretch!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:54px!important;
    height:auto!important;
    margin:0!important;
    padding:0 0 0 18px!important;
    border-left:1px solid #bfc6cd!important;
    line-height:1.5!important;
}

/* 이전 override에서 생성될 수 있는 별도 선 제거 */
#program04 .science-admission-intro-item strong:before,
#program04 .science-admission-intro-item strong:after{
    content:none!important;
    display:none!important;
}

@media(max-width:768px){
    #program04 .science-admission-intro-item{
        grid-template-columns:46px minmax(0,1fr)!important;
        column-gap:14px!important;
        align-items:center!important;
    }
    #program04 .science-admission-intro-item strong{
        min-height:48px!important;
        padding-left:14px!important;
        display:flex!important;
        align-items:center!important;
    }
}


/* ===== PROGRAM04 FINAL LINE FIX : remove pseudo divider inside icon ===== */
#program04 .science-admission-icon:before,
#program04 .science-admission-icon:after,
#program04 .program-intro-icon:before,
#program04 .program-intro-icon:after{
    content:none !important;
    display:none !important;
    width:0 !important;
    height:0 !important;
    margin:0 !important;
    background:none !important;
}

/* divider exists only between icon and copy */
#program04 .science-admission-intro-item strong{
    align-self:stretch !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    margin:0 !important;
    padding:0 0 0 18px !important;
    border-left:1px solid #bfc6cd !important;
    box-sizing:border-box !important;
}

/* icon itself stays perfectly centered */
#program04 .science-admission-icon{
    align-self:center !important;
    justify-self:center !important;
    margin:0 !important;
}

@media(max-width:768px){
    #program04 .science-admission-intro-item strong{
        padding-left:14px !important;
        align-items:center !important;
    }
}

/* PROGRAM04 설명문구 수직 위치 보정 */
#program04 .science-admission-intro-item strong{
    display:flex !important;
    align-items:center !important;
    padding-top:4px !important;
    box-sizing:border-box !important;
}

@media(max-width:768px){
    #program04 .science-admission-intro-item strong{
        padding-top:3px !important;
    }
}

/* ===== PROGRAM04 FINAL : intro text optical vertical centering ===== */
/* 구분선은 항목 자체에서 독립적으로 표시 */
#program04 .science-admission-intro-item{
    position:relative !important;
}
#program04 .science-admission-intro-item::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    left:63px !important;
    top:5px !important;
    bottom:5px !important;
    width:1px !important;
    height:auto !important;
    margin:0 !important;
    background:#bfc6cd !important;
}

/* 아이콘에는 어떠한 선도 생성하지 않음 */
#program04 .science-admission-icon::before,
#program04 .science-admission-icon::after{
    content:none !important;
    display:none !important;
}

/* 글자 박스의 border를 제거하고 실제 글자만 시각적으로 아래 이동 */
#program04 .science-admission-intro-item strong{
    align-self:center !important;
    min-height:0 !important;
    height:auto !important;
    padding:0 0 0 18px !important;
    border-left:0 !important;
    transform:translateY(4px) !important;
    display:block !important;
    line-height:1.5 !important;
}

@media(max-width:768px){
    #program04 .science-admission-intro-item::after{
        left:53px !important;
        top:4px !important;
        bottom:4px !important;
    }
    #program04 .science-admission-intro-item strong{
        padding-left:14px !important;
        transform:translateY(3px) !important;
    }
}


/* ===== PROGRAM05 : PROGRAM04 layout preserved / left visual removed only ===== */
#program04 .science-program-panel{
    grid-template-columns:minmax(0,1fr) !important;
}
#program04 .science-program-table-wrap{
    width:100% !important;
    min-width:0 !important;
}

/* ===== PROGRAM08 : SCIENCE BASIC SCHEDULE ===== */
#program08{width:100%;max-width:1500px;margin:0 auto 80px;box-sizing:border-box;font-family:"Noto Sans KR","Pretendard",Arial,sans-serif;color:#17212b}
#program08 .science-admission-intro{width:100%!important;max-width:none!important;margin:0 0 30px!important;padding:24px 28px!important;box-sizing:border-box!important;background:#f6f7f8!important;border-top:2px solid #142844!important;border-bottom:1px solid #d9dee3!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;column-gap:46px!important;row-gap:18px!important}
#program08 .science-admission-intro-item{display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;column-gap:18px!important;align-items:center!important;min-height:54px!important;position:relative!important}
#program08 .science-admission-intro-item:nth-child(3){grid-column:1!important}
#program08 .science-admission-icon{width:48px!important;height:48px!important;border-radius:50%!important;background:#142844!important;display:flex!important;align-items:center!important;justify-content:center!important}
#program08 .science-admission-icon svg{width:25px!important;height:25px!important;fill:none!important;stroke:#fff!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
#program08 .science-admission-intro-item:after{content:"";position:absolute;left:63px;top:5px;bottom:5px;width:1px;background:#bfc6cd}
#program08 .science-admission-intro-item strong{display:block!important;margin:0!important;padding-left:18px!important;color:#17212b!important;font-size:16px!important;line-height:1.5!important;font-weight:600!important;letter-spacing:-.035em!important;transform:translateY(3px)}
#program08 .program-admin-top{margin:0 0 34px}
#program08 .basic-schedule-section{border-top:3px solid #142844;margin-top:4px}
#program08 .basic-schedule-title{display:flex;align-items:baseline;gap:12px;padding:20px 4px 14px;border-bottom:1px solid #d5dbe1}
#program08 .basic-schedule-title strong{font-size:22px;font-weight:700;color:#142844;letter-spacing:-.04em}
#program08 .basic-schedule-title span{font-size:11px;font-weight:600;letter-spacing:.08em;color:#98a2ad}
#program08 .basic-schedule-scroll{width:100%;overflow-x:auto}
#program08 .basic-schedule-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed;background:#fff}
#program08 .basic-schedule-table th,#program08 .basic-schedule-table td{height:64px;padding:12px 10px;border-right:1px solid #d5dbe1;border-bottom:1px solid #d5dbe1;text-align:center;vertical-align:middle;box-sizing:border-box}
#program08 .basic-schedule-table tr>*:last-child{border-right:0}
#program08 .basic-schedule-table thead th{height:52px;background:#fff;color:#17212b;font-size:16px;font-weight:600}
#program08 .basic-schedule-table .subject-head,#program08 .basic-schedule-table tbody th{width:145px}
#program08 .basic-schedule-table tbody th{color:#142844;font-size:17px;font-weight:700;background:#fafbfc}
#program08 .basic-schedule-table td{font-size:16px;font-weight:500;color:#252d35}
#program08 .basic-schedule-table td span{color:#c44b3c;font-weight:600;letter-spacing:-.015em}
#program08 .basic-schedule-table td em{font-style:normal;color:#c5cbd1;font-weight:400}
#program08 .basic-schedule-notice{margin-top:28px;padding:22px 26px;background:#fafbfc;border-left:3px solid #c7923e;border-bottom:1px solid #e0e4e8}
#program08 .basic-schedule-notice p{position:relative;margin:0;padding-left:15px;color:#333c45;font-size:16px;line-height:1.8;font-weight:400;letter-spacing:-.03em;word-break:keep-all}
#program08 .basic-schedule-notice p+p{margin-top:4px}
#program08 .basic-schedule-notice p:before{content:"";position:absolute;left:0;top:.78em;width:5px;height:1px;background:#c7923e}
.schedule-write-wrap{max-width:1500px!important}
.schedule-write-table-wrap{width:100%;overflow-x:auto}
.schedule-write-table{width:100%;min-width:1050px;border-collapse:collapse;table-layout:fixed}
.schedule-write-table th,.schedule-write-table td{border-right:1px solid #d5dbe1;border-bottom:1px solid #d5dbe1;padding:12px 10px;text-align:center;vertical-align:middle}
.schedule-write-table tr>*:last-child{border-right:0}
.schedule-write-table thead th{border-top:3px solid #142844;background:#fff;color:#17212b;font-size:15px;font-weight:700}
.schedule-write-table thead th:first-child,.schedule-write-table tbody th{width:120px}
.schedule-write-table tbody th{background:#fafbfc;color:#142844;font-size:16px;font-weight:700}
.schedule-time-input{width:100%!important;height:44px!important;padding:0 8px!important;border:1px solid #ccd3da!important;border-radius:0!important;text-align:center!important;font-size:15px!important;color:#c44b3c!important;font-weight:600!important;box-sizing:border-box!important}
.schedule-time-input:focus{border-color:#142844!important;outline:0!important}
.schedule-write-help{margin:16px 0 0;color:#68737d;font-size:14px;line-height:1.7}
.schedule-write-help strong{color:#c44b3c}
@media(max-width:768px){
 #program08{margin-bottom:55px;padding:0 15px}
 #program08 .science-admission-intro{grid-template-columns:1fr!important;gap:14px!important;padding:18px 16px!important;margin-bottom:24px!important}
 #program08 .science-admission-intro-item,#program08 .science-admission-intro-item:nth-child(3){grid-column:1!important;grid-template-columns:46px minmax(0,1fr)!important;column-gap:14px!important;min-height:48px!important}
 #program08 .science-admission-icon{width:42px!important;height:42px!important}
 #program08 .science-admission-icon svg{width:23px!important;height:23px!important}
 #program08 .science-admission-intro-item:after{left:53px;top:4px;bottom:4px}
 #program08 .science-admission-intro-item strong{padding-left:14px!important;font-size:15px!important;transform:translateY(2px)}
 #program08 .basic-schedule-title{padding-top:16px}
 #program08 .basic-schedule-title strong{font-size:20px}
 #program08 .basic-schedule-scroll{margin-right:-15px;width:calc(100% + 15px);padding-bottom:6px}
 #program08 .basic-schedule-table{min-width:820px}
 #program08 .basic-schedule-table th,#program08 .basic-schedule-table td{height:56px;padding:9px 7px}
 #program08 .basic-schedule-table thead th{font-size:14px}
 #program08 .basic-schedule-table .subject-head,#program08 .basic-schedule-table tbody th{width:90px}
 #program08 .basic-schedule-table tbody th{font-size:15px}
 #program08 .basic-schedule-table td{font-size:14px}
 #program08 .basic-schedule-notice{margin-top:22px;padding:17px 18px}
 #program08 .basic-schedule-notice p{font-size:15px;line-height:1.7}
}

/* ===== PROGRAM06 FINAL : intro size matched to PROGRAM01/04/05 ===== */
#program08 .science-admission-intro{
    padding:28px 30px!important;
    gap:22px 42px!important;
    margin-bottom:34px!important;
}
#program08 .science-admission-intro-item{
    grid-template-columns:54px minmax(0,1fr)!important;
    column-gap:18px!important;
    min-height:62px!important;
}
#program08 .science-admission-icon{
    width:54px!important;
    height:54px!important;
}
#program08 .science-admission-icon svg{
    width:27px!important;
    height:27px!important;
}
#program08 .science-admission-intro-item strong{
    font-size:17px!important;
    line-height:1.55!important;
    font-weight:700!important;
    padding-left:18px!important;
    transform:translateY(3px)!important;
}
@media(max-width:768px){
    #program08 .science-admission-intro{
        gap:14px!important;
        padding:20px 18px!important;
        margin-bottom:24px!important;
    }
    #program08 .science-admission-intro-item,
    #program08 .science-admission-intro-item:nth-child(3){
        grid-template-columns:46px minmax(0,1fr)!important;
        column-gap:14px!important;
        min-height:52px!important;
    }
    #program08 .science-admission-icon{
        width:46px!important;
        height:46px!important;
    }
    #program08 .science-admission-icon svg{
        width:25px!important;
        height:25px!important;
    }
    #program08 .science-admission-intro-item strong{
        padding-left:14px!important;
        font-size:16px!important;
        line-height:1.5!important;
        font-weight:700!important;
        transform:translateY(2px)!important;
    }
}


/* ===== PROGRAM06 v3 : timetable value color ===== */
/* 참고 이미지의 빨간색은 입력 위치 표시용이므로 실제 화면에서는 본문 색상으로 통일 */
#program04 .science-basic-time,
#program04 .science-basic-time strong,
#program04 .science-basic-table .time-value,
#program04 .science-basic-table .schedule-time,
#program04 .science-basic-table td strong{
    color:#252d35 !important;
}


/* ===== PROGRAM06 v4 : operating time color correction =====
   실제 wrapper id는 #program08이므로 표시값/입력값 모두 본문색으로 통일
*/
#program08 .basic-schedule-table td span{
    color:#252d35 !important;
    font-weight:600 !important;
}
#program08 .schedule-time-input,
.schedule-time-input{
    color:#252d35 !important;
}
.schedule-write-help strong{
    color:#252d35 !important;
}


/* ===== PROGRAM06 FINAL : TOP INTRO ALIGNED TO PROGRAM01 STANDARD ===== */
#program06 .science-basic-intro,
#program08 .science-basic-intro,
#program06 .science-admission-intro-icons,
#program08 .science-admission-intro-icons{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    gap:24px 60px !important;
    margin:0 0 38px !important;
    padding:30px 34px !important;
    background:#f8f9fb !important;
    border:0 !important;
    border-top:2px solid #142844 !important;
    border-bottom:1px solid #dce1e6 !important;
    box-shadow:none !important;
}

#program06 .science-basic-intro-item,
#program08 .science-basic-intro-item,
#program06 .science-admission-intro-item,
#program08 .science-admission-intro-item{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
    min-height:64px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
}

#program06 .science-basic-intro-item:nth-child(3),
#program08 .science-basic-intro-item:nth-child(3),
#program06 .science-admission-intro-item:nth-child(3),
#program08 .science-admission-intro-item:nth-child(3){
    grid-column:1 !important;
}

#program06 .science-basic-icon,
#program08 .science-basic-icon,
#program06 .science-admission-icon,
#program08 .science-admission-icon{
    position:relative !important;
    flex:0 0 58px !important;
    width:58px !important;
    height:58px !important;
    margin:0 38px 0 0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:0 !important;
    border-radius:50% !important;
    background:#142844 !important;
    color:#fff !important;
    font-size:23px !important;
    line-height:1 !important;
    box-shadow:none !important;
    transform:none !important;
}

#program06 .science-basic-icon::before,
#program08 .science-basic-icon::before,
#program06 .science-admission-icon::before,
#program08 .science-admission-icon::before{
    content:none !important;
    display:none !important;
}

#program06 .science-basic-icon::after,
#program08 .science-basic-icon::after,
#program06 .science-admission-icon::after,
#program08 .science-admission-icon::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:4px !important;
    bottom:4px !important;
    right:-20px !important;
    left:auto !important;
    width:1px !important;
    height:auto !important;
    margin:0 !important;
    background:#aeb6bf !important;
}

#program06 .science-basic-icon svg,
#program08 .science-basic-icon svg,
#program06 .science-admission-icon svg,
#program08 .science-admission-icon svg{
    width:23px !important;
    height:23px !important;
    margin:0 !important;
    fill:none !important;
    stroke:#fff !important;
    stroke-width:1.7 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
    transform:none !important;
}

#program06 .science-basic-intro-item strong,
#program08 .science-basic-intro-item strong,
#program06 .science-admission-intro-item strong,
#program08 .science-admission-intro-item strong{
    display:block !important;
    align-self:center !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    color:#17212b !important;
    font-family:"Noto Sans KR","Pretendard",Arial,sans-serif !important;
    font-size:18px !important;
    line-height:1.45 !important;
    font-weight:700 !important;
    letter-spacing:-.035em !important;
    word-break:keep-all !important;
    transform:none !important;
}

@media(max-width:768px){
    #program06 .science-basic-intro,
    #program08 .science-basic-intro,
    #program06 .science-admission-intro-icons,
    #program08 .science-admission-intro-icons{
        grid-template-columns:1fr !important;
        grid-template-rows:none !important;
        gap:0 !important;
        margin-bottom:28px !important;
        padding:8px 18px !important;
    }

    #program06 .science-basic-intro-item,
    #program08 .science-basic-intro-item,
    #program06 .science-admission-intro-item,
    #program08 .science-admission-intro-item{
        grid-column:auto !important;
        min-height:82px !important;
        padding:14px 0 !important;
        border-bottom:1px solid #e0e4e8 !important;
    }

    #program06 .science-basic-intro-item:last-child,
    #program08 .science-basic-intro-item:last-child,
    #program06 .science-admission-intro-item:last-child,
    #program08 .science-admission-intro-item:last-child{
        border-bottom:0 !important;
    }

    #program06 .science-basic-icon,
    #program08 .science-basic-icon,
    #program06 .science-admission-icon,
    #program08 .science-admission-icon{
        flex-basis:48px !important;
        width:48px !important;
        height:48px !important;
        margin-right:30px !important;
        font-size:19px !important;
    }

    #program06 .science-basic-icon::after,
    #program08 .science-basic-icon::after,
    #program06 .science-admission-icon::after,
    #program08 .science-admission-icon::after{
        top:3px !important;
        bottom:3px !important;
        right:-16px !important;
    }

    #program06 .science-basic-icon svg,
    #program08 .science-basic-icon svg,
    #program06 .science-admission-icon svg,
    #program08 .science-admission-icon svg{
        width:19px !important;
        height:19px !important;
    }

    #program06 .science-basic-intro-item strong,
    #program08 .science-basic-intro-item strong,
    #program06 .science-admission-intro-item strong,
    #program08 .science-admission-intro-item strong{
        font-size:16px !important;
        line-height:1.45 !important;
        font-weight:700 !important;
    }
}

/* 운영시간 값은 실제 사이트에서는 빨간색이 아닌 본문색 */
#program08 .basic-schedule-table td span,
#program06 .basic-schedule-table td span,
#program08 .schedule-time-input,
#program06 .schedule-time-input,
.schedule-time-input{
    color:#252d35 !important;
}


/* ===== PROGRAM06 v2 : INTRO VERTICAL DIVIDER DUPLICATION FIX ===== */
/* 기존 strong 왼쪽 border + 새 icon ::after가 동시에 보여 2줄이 되던 문제 수정 */
#program08 .science-admission-intro-item strong,
#program06 .science-admission-intro-item strong{
    border-left:0 !important;
    border-right:0 !important;
}

/* 구분선은 아이콘 ::after 한 줄만 사용 */
#program08 .science-admission-icon::after,
#program06 .science-admission-icon::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:4px !important;
    bottom:4px !important;
    right:-20px !important;
    width:1px !important;
    background:#aeb6bf !important;
    border:0 !important;
}

@media(max-width:768px){
    #program08 .science-admission-icon::after,
    #program06 .science-admission-icon::after{
        top:3px !important;
        bottom:3px !important;
        right:-16px !important;
    }
}


/* ===== PROGRAM06 EXACT FIX : PROGRAM01 방식의 세로선 1개만 사용 ===== */
/* 기존 program06 원본의 item:after 세로선 제거 */
#program08 .science-admission-intro-item::after,
#program08 .science-admission-intro-item:after,
#program06 .science-admission-intro-item::after,
#program06 .science-admission-intro-item:after{
    content:none !important;
    display:none !important;
    width:0 !important;
    background:none !important;
}

/* 설명문구 자체에는 선을 만들지 않음 */
#program08 .science-admission-intro-item strong,
#program06 .science-admission-intro-item strong{
    border-left:0 !important;
    border-right:0 !important;
}

/* PROGRAM01과 동일하게 아이콘의 after만 세로선으로 사용 */
#program08 .science-admission-icon::after,
#program06 .science-admission-icon::after{
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:4px !important;
    bottom:4px !important;
    right:-20px !important;
    left:auto !important;
    width:1px !important;
    height:auto !important;
    background:#aeb6bf !important;
    border:0 !important;
}

@media(max-width:768px){
    #program08 .science-admission-icon::after,
    #program06 .science-admission-icon::after{
        top:3px !important;
        bottom:3px !important;
        right:-16px !important;
    }
}
