
:root{
    --risk-primary:#0d6efd;
    --risk-primary-dark:#0a58ca;
    --risk-primary-soft:#eef5ff;
    --risk-text:#1f2937;
    --risk-muted:#6b7280;
    --risk-border:#e5e7eb;
    --risk-bg:#f7f9fc;
    --risk-card:#ffffff;
    --risk-danger:#dc3545;
    --risk-success:#198754;
    --risk-shadow:0 12px 30px rgba(15,23,42,.08);
}

a{
    color:inherit;
    text-decoration:none;
}

td, th{
    vertical-align: middle;
}

#container.container{
    max-width:1300px;
    padding-top:180px;
    padding-bottom:70px;
}

.risk_content{
    margin-top:34px;
}

#container .guide{
    position:relative;
    overflow:hidden;
    text-align:center;
    color:#fff;
    padding:30px;
    border-radius:18px;
    background:linear-gradient(135deg,#c62828 0%,#d93b3b 55%,#b71c1c 100%);
    box-shadow:0 14px 30px rgba(183,28,28,.18);
}

#container .guide::before,
#container .guide::after{
    content:"";
    position:absolute;
    border-radius:50%;
    background:rgba(255,255,255,.07);
}
#container .guide::before{
    width:240px;
    height:240px;
    right:-70px;
    top:-90px;
}
#container .guide::after{
    width:170px;
    height:170px;
    left:-60px;
    bottom:-90px;
}

.guide-badge{
    position:relative;
    z-index:1;
    display:inline-flex;
    padding:6px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.28);
    font-size:13px;
    font-weight:700;
    margin-bottom:12px;
}

#container .guide h2{
    position:relative;
    z-index:1;
    margin:0;
    font-size:30px;
    font-weight:800;
    letter-spacing:-.8px;
}

.guide-sub{
    position:relative;
    z-index:1;
    margin:10px 0 22px;
    color:rgba(255,255,255,.82);
    font-size:15px;
}

.guide-actions{
    position:relative;
    z-index:1;
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
}

.btn_guide{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:46px;
    padding:0 20px;
    border-radius:12px;
    background:#fff;
    border:1px solid rgba(255,255,255,.7);
    font-size:15px;
    font-weight:700;
    color:#222;
    box-shadow:0 7px 18px rgba(0,0,0,.13);
    transition:.2s ease;
}
.btn_guide:hover{
    transform:translateY(-2px);
    color:#c62828;
}

.app-title{
    display:flex;
    align-items:center;
    gap:14px;
    margin:42px 0 18px;
    padding-bottom:16px;
    border-bottom:1px solid var(--risk-border);
}
.app-title .section-icon{
    width:44px;
    height:44px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--risk-primary-soft);
    color:var(--risk-primary);
    font-size:19px;
    flex:0 0 44px;
}
.app-title h2{
    margin:0;
    font-size:24px;
    line-height:1.3;
    font-weight:800;
    color:var(--risk-text);
}
.app-title p{
    margin:4px 0 0;
    font-size:14px;
    color:var(--risk-muted);
}

.education-summary,
.form-card,
.trainee-card{
    background:var(--risk-card);
    border:1px solid var(--risk-border);
    border-radius:16px;
    box-shadow:var(--risk-shadow);
}

.education-summary{
    padding:22px 26px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 26px;
}
.education-summary p{
    display:flex;
    align-items:center;
    min-height:46px;
    margin:0 !important;
    border-bottom:1px dashed #edf0f4;
}
.education-summary p:last-of-type{
    border-bottom:none;
}
.education-summary .subject{
    width:108px !important;
    min-width:108px;
    margin:0 !important;
    font-size:14px !important;
    font-weight:700 !important;
    color:#475569 !important;
}
.education-summary .f-17{
    font-size:15px !important;
    color:#111827 !important;
    font-weight:600 !important;
}

.form-card,
.trainee-card{
    padding:24px 26px;
    margin:0 0 20px !important;
}

.info p{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:48px;
    margin:0 0 10px !important;
}
.info p .subject{
    width:190px !important;
    min-width:190px;
    margin:0 !important;
    font-size:15px !important;
    line-height:1.4 !important;
    font-weight:700 !important;
    color:#334155 !important;
}

.color-red{
    color:var(--risk-danger);
    margin-right:0;
    font-weight:700;
}

.info input[type="text"],
.info input[type="password"],
.info input[type="date"],
.info input[type="email"],
.info input[type="number"],
.info select.form-select{
    width:380px;
    max-width:100%;
    height:44px;
    padding:0 13px;
    border:1px solid #d8dee8;
    border-radius:10px;
    background:#fff;
    font-size:14px;
    color:#111827;
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.trainee_info input[type="text"],
.bill input{
    background:#fbfcfe;
}

.info input:focus,
.info select:focus,
.trainee_info input:focus,
.bill input:focus{
    background:#fff;
    border-color:#86b7fe;
    box-shadow:0 0 0 .2rem rgba(13,110,253,.12);
    outline:none;
}

.risk-select{
    width:180px !important;
}

.lookup-help{
    margin:4px 0 4px 226px;
}
.help-btn{
    display:inline-flex;
    align-items:center;
    gap:7px;
    border-radius:9px;
    font-size:13px;
    font-weight:700;
}

.info small{
    display:block;
    margin:6px 0 0 226px !important;
    font-size:12px;
}

.form-row-choice{
    display:flex;
    align-items:center;
    min-height:52px;
    margin:4px 0 8px;
}
.choice-label{
    display:flex;
    align-items:center;
    gap:8px;
    width:198px;
    min-width:198px;
}
.choice-label .subject{
    width:auto !important;
    min-width:0 !important;
}
.choice-group{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.choice-btn{
    min-width:112px;
    border-radius:10px;
    font-size:14px;
    font-weight:700;
    padding:8px 16px;
}
.btn-check:checked + .choice-btn{
    box-shadow:0 0 0 .18rem rgba(13,110,253,.12);
}
.btn-check:checked + .btn-outline-secondary.choice-btn{
    background:#6c757d;
    color:#fff;
}

.trainee-action-wrap{
    display:flex;
    justify-content:flex-end;
    margin-top:10px;
}
.edu_info{
    display:inline-flex !important;
    align-items:center;
    gap:8px;
    border-radius:10px;
    min-height:44px;
    padding:0 18px;
    font-weight:700;
}

.total-price-box{
    margin-top:18px;
    display:flex;
    justify-content:flex-end;
    align-items:baseline;
    gap:12px;
    padding:18px 22px;
    border-radius:14px;
    background:linear-gradient(180deg,#f8fbff,#eef5ff);
    border:1px solid #dbeafe;
}
.total-price-box span{
    color:#475569;
    font-size:14px;
    font-weight:700;
}
.total-price-box strong{
    color:#0d6efd;
    font-size:24px;
    font-weight:800;
}

.notice-box{
    display:flex;
    gap:14px;
    margin-top:24px;
    padding:18px 20px;
    border-radius:14px;
    background:#fff8e6;
    border:1px solid #ffe09a;
}
.notice-icon{
    width:34px;
    height:34px;
    border-radius:10px;
    background:#fff1bf;
    color:#b7791f;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 34px;
}
.notice-box strong{
    display:block;
    margin-bottom:4px;
    color:#7c4a03;
}
.notice-box p{
    margin:0 0 6px;
    color:#5f4b2b;
    font-size:14px;
}
.notice-link{
    color:#0d6efd;
    font-size:13px;
    font-weight:700;
    text-decoration:underline;
}

.personal_info{
    margin-top:30px;
    padding:20px 22px;
    border:1px solid #dbe4ef;
    border-radius:14px;
    background:#f8fafc;
}
.consent-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
}
.personal_info .form-check{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0;
}
.personal_info .form-check-input{
    width:20px !important;
    height:20px !important;
    cursor:pointer;
    border-color: #b7b7b7;
}
.agree_text{
    position:static;
    top:auto;
    margin:0;
    font-size:16px;
    font-weight:700;
    color:#1f2937;
    cursor:pointer;
}
.a_chk{
    position:static;
    top:auto;
    color:#0d6efd !important;
    font-size:13px;
    font-weight:700;
}
.a_chk::after{
    display:none;
}
.personal_chk{
    display:none;
    margin-top:16px;
    padding:22px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fff;
}
.per_sub_title{
    margin-bottom:6px;
    font-size:15px;
    font-weight:800;
    color:#334155;
}
.per_sub_content{
    font-size:14px;
    line-height:1.7;
    color:#64748b;
}

.trainee_del{
    position:absolute;
    top:14px !important;
    right:14px;
    width:36px;
    height:36px;
    padding:0;
    border:1px solid #f0c2c7;
    border-radius:10px;
    background:#fff5f5;
    color:#dc3545;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:.2s ease;
}
.trainee_del:hover{
    background:#dc3545;
    color:#fff;
}

.btn_wrap{
    margin-top:38px;
    display:flex;
    justify-content:center;
    gap:12px;
}
.risk_add,
.risk_cancel{
    min-width:180px;
    height:52px;
    padding:0 24px;
    border-radius:12px;
    border:none;
    font-size:16px;
    font-weight:800;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}
.risk_add{
    background:var(--risk-primary);
    color:#fff;
}
.risk_add:hover{
    background:var(--risk-primary-dark);
    color:#fff;
}
.risk_cancel{
    background:#eef1f4;
    color:#495057;
}
.risk_cancel:hover{
    background:#dde2e7;
    color:#343a40;
}

.modern-modal{
    border:0;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 20px 60px rgba(15,23,42,.22);
}
.modern-modal .modal-header{
    padding:22px 24px;
    border-bottom:1px solid #edf0f4;
}
.modal-kicker{
    display:block;
    margin-bottom:4px;
    color:#0d6efd;
    font-size:12px;
    font-weight:800;
    letter-spacing:.06em;
}
.modern-modal .modal-body{
    padding:24px;
}
.step-list{
    display:grid;
    gap:12px;
}
.step-item{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:14px 16px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fbfcfe;
}
.step-item > span{
    width:28px;
    height:28px;
    border-radius:50%;
    background:#0d6efd;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:800;
    flex:0 0 28px;
}
.step-item p{
    margin:2px 0 0;
    color:#374151;
    font-size:14px;
}
.modal-link-group{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
}
.modern-modal .modal-footer{
    padding:16px 24px;
    border-top:1px solid #edf0f4;
}

@media(max-width:767px){

    #container.container{
        padding-top:90px;
        padding-left:14px;
        padding-right:14px;
    }
    #container .guide{
        padding:34px 18px;
    }
    #container .guide h2{
        font-size:24px;
    }
    .education-summary{
        grid-template-columns:1fr;
        padding:18px;
    }
    .form-card,
    .trainee-card{
        padding:18px;
    }
    .info p,
    .form-row-choice{
        display:block;
        min-height:auto;
        margin-bottom:16px !important;
    }
    .info p .subject,
    .choice-label{
        display:flex;
        width:100% !important;
        min-width:0;
        margin-bottom:7px !important;
    }
    .info input[type="text"],
    .info input[type="password"],
    .info input[type="date"],
    .info input[type="email"],
    .info input[type="number"],
    .info select.form-select{
        width:100% !important;
    }
    .lookup-help,
    .info small{
        margin-left:0 !important;
    }
    .choice-group{
        width:100%;
    }
    .choice-btn{
        flex:1;
    }
    .consent-row{
        align-items:flex-start;
        flex-direction:column;
    }
    .btn_wrap{
        flex-direction:column;
    }
    .risk_add,
    .risk_cancel{
        width:100%;
    }
}

@media(min-width:768px){
    .modal-dialog{
        max-width:760px;
    }
}


/* ===== 정렬 및 교육생 카드 최종 보정 ===== */
.form-card,
.trainee-card{
    width:100%;
}

.form-card > p,
.trainee-card p,
.edu_add > p{
    display:grid !important;
    grid-template-columns: 14px 190px 380px 1fr;
    align-items:center;
    column-gap:10px;
    min-height:54px;
    margin:0 0 10px !important;
}

.form-card > p .color-red,
.trainee-card p .color-red,
.edu_add > p .color-red{
    grid-column:1;
    justify-self:center;
    margin:0 !important;
}

.form-card > p .subject,
.trainee-card p .subject,
.edu_add > p .subject{
    grid-column:2;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    line-height:1.4 !important;
    display:block !important;
}

.form-card > p input[type="text"],
.form-card > p input[type="password"],
.form-card > p input[type="date"],
.form-card > p input[type="email"],
.form-card > p input[type="number"],
.form-card > p select.form-select,
.trainee-card p input[type="text"],
.trainee-card p input[type="password"],
.trainee-card p input[type="date"],
.trainee-card p input[type="email"],
.trainee-card p input[type="number"],
.edu_add > p input[type="text"],
.edu_add > p input[type="password"],
.edu_add > p input[type="date"],
.edu_add > p input[type="email"],
.edu_add > p input[type="number"]{
    grid-column:3;
    width:380px !important;
    max-width:100%;
    margin:0 !important;
}

.form-card > p .lookup-help{
    grid-column:4;
    margin:0 !important;
    align-self:center;
}

.form-card > p small{
    grid-column:3 / 5;
    margin:6px 0 0 0 !important;
}

.form-card > p > .subject[style*="margin-left"]{
    margin-left:0 !important;
}

.form-card > p:not(:has(.color-red))::before{
    content:"";
    grid-column:1;
}

.trainee_info{
    width:100%;
}

.trainee_info > .trainee-card{
    margin-bottom:18px !important;
}

.trainee-card{
    position:relative;
    background:#fff;
    border:1px solid #dfe6ef;
    border-radius:16px;
    box-shadow:0 10px 28px rgba(15,23,42,.06);
    padding:24px 26px;
}

.trainee-card::before{
    content:"교육생 1";
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 12px;
    margin-bottom:16px;
    border-radius:999px;
    background:#eef5ff;
    color:#0d6efd;
    font-size:13px;
    font-weight:800;
}

.trainee-card[class*="edu"]::before{
    content:"추가 교육생";
}

.trainee-card > div{
    width:100%;
}

.form-row-choice{
    display:grid !important;
    grid-template-columns:14px 190px 380px 1fr;
    column-gap:10px;
    align-items:center;
    min-height:54px;
    margin:4px 0 8px;
}

.choice-label{
    grid-column:1 / 3;
    display:grid !important;
    grid-template-columns:14px 190px;
    align-items:center;
    column-gap:10px;
    width:auto !important;
    min-width:0 !important;
}

.choice-label .color-red{
    grid-column:1;
    justify-self:center;
}

.choice-label .subject{
    grid-column:2;
    margin:0 !important;
}

.choice-group{
    grid-column:3;
    display:flex;
    align-items:center;
    gap:10px;
}

.trainee-action-wrap{
    display:flex;
    justify-content:flex-end;
    margin-top:8px;
}

.total-price-box{
    margin-top:20px;
}

@media(max-width:991px){
    .form-card > p,
    .trainee-card p,
    .edu_add > p,
    .form-row-choice{
        grid-template-columns:14px 150px minmax(0,1fr);
    }

    .form-card > p input[type="text"],
    .form-card > p input[type="password"],
    .form-card > p input[type="date"],
    .form-card > p input[type="email"],
    .form-card > p input[type="number"],
    .form-card > p select.form-select,
    .trainee-card p input[type="text"],
    .trainee-card p input[type="password"],
    .trainee-card p input[type="date"],
    .trainee-card p input[type="email"],
    .trainee-card p input[type="number"],
    .edu_add > p input[type="text"],
    .edu_add > p input[type="password"],
    .edu_add > p input[type="date"],
    .edu_add > p input[type="email"],
    .edu_add > p input[type="number"]{
        grid-column:3;
        width:100% !important;
    }

    .form-card > p .lookup-help{
        grid-column:3;
        margin-top:8px !important;
    }

    .form-card > p small{
        grid-column:3;
    }

    .choice-label{
        grid-template-columns:14px 150px;
    }

    .choice-group{
        grid-column:3;
    }
}

@media(max-width:767px){
    .form-card > p,
    .trainee-card p,
    .edu_add > p{
        display:grid !important;
        grid-template-columns:14px 1fr;
        row-gap:8px;
        margin-bottom:18px !important;
    }

    .form-card > p .color-red,
    .trainee-card p .color-red,
    .edu_add > p .color-red{
        grid-column:1;
        grid-row:1;
    }

    .form-card > p .subject,
    .trainee-card p .subject,
    .edu_add > p .subject{
        grid-column:2;
        grid-row:1;
    }

    .form-card > p input[type="text"],
    .form-card > p input[type="password"],
    .form-card > p input[type="date"],
    .form-card > p input[type="email"],
    .form-card > p input[type="number"],
    .form-card > p select.form-select,
    .trainee-card p input[type="text"],
    .trainee-card p input[type="password"],
    .trainee-card p input[type="date"],
    .trainee-card p input[type="email"],
    .trainee-card p input[type="number"],
    .edu_add > p input[type="text"],
    .edu_add > p input[type="password"],
    .edu_add > p input[type="date"],
    .edu_add > p input[type="email"],
    .edu_add > p input[type="number"]{
        grid-column:1 / 3;
        grid-row:2;
        width:100% !important;
    }

    .form-card > p .lookup-help,
    .form-card > p small{
        grid-column:1 / 3;
    }

    .form-row-choice{
        display:grid !important;
        grid-template-columns:1fr;
        row-gap:10px;
    }

    .choice-label{
        grid-column:1;
        display:grid !important;
        grid-template-columns:14px 1fr;
    }

    .choice-group{
        grid-column:1;
        width:100%;
    }

    .choice-btn{
        flex:1;
    }

    .trainee-card{
        padding:18px;
    }
}


/* ===== 교육생 정보 세부 정렬 최종 보정 ===== */

/* 노트북 지참 여부 라벨을 다른 항목 라벨과 동일하게 */
.choice-label .subject{
    font-size:15px !important;
    font-weight:700 !important;
    color:#334155 !important;
    line-height:1.4 !important;
    letter-spacing:0 !important;
}

/* 필수 별표도 다른 행과 동일 크기 */
.choice-label .color-red{
    font-size:15px;
    line-height:1;
}

/* 지참 / 미지참 버튼 내부 아이콘 + 글자 완전 중앙 정렬 */
.choice-btn{
    height:44px;
    min-width:112px;
    padding:0 16px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px;
    line-height:1 !important;
    vertical-align:middle;
}

.choice-btn i{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:16px;
    height:16px;
    line-height:1 !important;
    font-size:14px;
    margin:0;
}

.choice-btn,
.choice-btn span{
    font-size:14px;
    font-weight:700;
}

/* 선택 그룹 자체도 input 행의 세로 중앙과 일치 */
.choice-group{
    min-height:44px;
    align-items:center !important;
}

/* 교육생 카드의 모든 행 간격 통일 */
.trainee-card p,
.edu_add > p{
    min-height:44px !important;
    margin-bottom:10px !important;
}

/* 마지막 입력행 및 노트북 선택행 아래 불필요한 공백 제거 */
.trainee-card p:last-of-type,
.edu_add > p:last-of-type{
    margin-bottom:10px !important;
}

.form-row-choice{
    min-height:44px !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
}

/* 추가 교육생 내부에 잘못된 빈 문단이 혹시 남아도 공간 차지하지 않도록 */
.edu_add > p:empty{
    display:none !important;
    margin:0 !important;
    min-height:0 !important;
    height:0 !important;
}

/* 카드 내부 세로 여백을 일정하게 */
.trainee-card .edu_add{
    padding-top:0;
    border-top:0;
}

/* 추가 교육생 카드도 첫 카드와 동일한 높이 흐름 */
.trainee-card[class*="edu"]{
    padding-top:24px;
    padding-bottom:24px;
}

@media(max-width:767px){
    .choice-btn{
        height:44px;
    }

    .choice-label .subject{
        font-size:15px !important;
    }
}


/* ===== 사업개시번호 행 공백 제거 최종 보정 ===== */
.business-open-row{
    margin:0 0 10px 0 !important;
    padding:0 !important;
}

.business-open-main{
    display:grid;
    grid-template-columns:14px 190px 380px 1fr;
    align-items:center;
    column-gap:10px;
    min-height:54px;
    margin:0;
}

.business-open-main .color-red{
    grid-column:1;
    justify-self:center;
    margin:0 !important;
}

.business-open-main .subject{
    grid-column:2;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    font-size:15px !important;
    line-height:1.4 !important;
    font-weight:700 !important;
    color:#334155 !important;
}

.business-open-main input[type="text"]{
    grid-column:3;
    width:380px !important;
    max-width:100%;
    height:44px;
    margin:0 !important;
    padding:0 13px;
    border:1px solid #d8dee8;
    border-radius:10px;
    background:#fff;
    font-size:14px;
    color:#111827;
}

.business-open-main input[type="text"]:focus{
    border-color:#86b7fe;
    box-shadow:0 0 0 .2rem rgba(13,110,253,.12);
    outline:none;
}

.business-open-help{
    display:flex;
    align-items:center;
    gap:12px;
    margin:4px 0 0 226px !important;
    padding:0;
    min-height:32px;
}

.business-open-help .help-btn{
    flex:0 0 auto;
}

.business-open-help small{
    display:inline-block !important;
    margin:0 !important;
    padding:0 !important;
    color:#ff0000;
    font-size:12px;
    line-height:1.3;
}

/* 안내문구 다음에 소재지 행이 바로 이어지도록 */
.business-open-row + p{
    margin-top:0 !important;
}

/* 기존 공통 small/lookup 스타일 무효화 */
.business-open-row .lookup-help,
.business-open-row small{
    margin-left:0 !important;
}

@media(max-width:991px){
    .business-open-main{
        grid-template-columns:14px 150px minmax(0,1fr);
    }

    .business-open-main input[type="text"]{
        grid-column:3;
        width:100% !important;
    }

    .business-open-help{
        margin-left:174px !important;
        flex-wrap:wrap;
    }
}

@media(max-width:767px){
    .business-open-main{
        grid-template-columns:14px 1fr;
        row-gap:8px;
    }

    .business-open-main .color-red{
        grid-column:1;
        grid-row:1;
    }

    .business-open-main .subject{
        grid-column:2;
        grid-row:1;
    }

    .business-open-main input[type="text"]{
        grid-column:1 / 3;
        grid-row:2;
        width:100% !important;
    }

    .business-open-help{
        margin:8px 0 0 0 !important;
        align-items:flex-start;
        flex-direction:column;
        gap:6px;
    }
}

/* 산업안전보건 위험성평가 신청 css */
    .risk-pay-wrap{
        max-width:1300px;
        margin:0 auto;
        padding:180px 20px 70px;
    }
    .risk-pay-title{
        margin:0 0 24px;
        font-size:28px;
        font-weight:800;
        color:#1f2937;
    }
    .risk-pay-wrap .detail-box{
        margin-bottom:18px;
        border:1px solid #e0e0e0;
        border-radius:6px;
        background:#fff;
        overflow:hidden;
    }
    .risk-pay-wrap .detail-box__info{
        padding:20px;
        border:0;
    }
    .risk-pay-wrap .detail-box__title{
        margin:0 0 18px;
        padding-bottom:14px;
        border-bottom:1px solid #111;
        font-size:20px;
        font-weight:700;
        color:#222;
    }
    .risk-pay-wrap .section-box__title{
        margin:0 0 14px;
        padding-bottom:12px;
        border-bottom:1px solid #111;
        font-size:20px;
        font-weight:700;
        color:#222;
    }
    .risk-pay-wrap .lecture_contents{
        display:flex;
        align-items:stretch;
        gap:28px;
    }
    .risk-course-visual{
        flex:0 0 300px;
        min-height:180px;
        border-radius:4px;
        background:linear-gradient(135deg,#0d47a1,#1976d2);
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        color:#fff;
        text-align:center;
        padding:28px;
    }
    .risk-course-visual i{
        font-size:48px;
        margin-bottom:16px;
    }
    .risk-course-visual strong{
        font-size:22px;
        line-height:1.45;
    }
    .risk-pay-wrap .box-middle__bottom{
        flex:1;
        min-width:0;
    }
    .risk-pay-wrap .list-table-bg{
        margin:0;
        padding:0;
        list-style:none;
        border-top:1px solid #ddd;
    }
    .risk-pay-wrap .list-table-bg > li{
        border-bottom:1px solid #ddd;
    }
    .risk-pay-wrap .list-definition{
        display:flex;
        align-items:stretch;
        margin:0;
    }
    .risk-pay-wrap .list-definition dt{
        width:180px;
        min-width:180px;
        margin:0;
        padding:16px 18px;
        background:#fafafa;
        font-weight:700;
        color:#333;
    }
    .risk-pay-wrap .list-definition dd{
        flex:1;
        margin:0;
        padding:16px 18px;
        color:#333;
        display:flex;
        align-items:center;
    }
    .risk-pay-wrap .trainee-list{
        display:block !important;
    }
    .risk-pay-wrap .trainee-item{
        display:inline-block;
        margin:3px 8px 3px 0;
        padding:6px 11px;
        border-radius:16px;
        background:#eef4ff;
        color:#1d4ed8;
        font-size:13px;
        font-weight:600;
    }
    .payment-method-list{
        display:flex;
        gap:12px;
        flex-wrap:wrap;
    }
    .payment-method-list label{
        display:inline-flex;
        align-items:center;
        gap:7px;
        min-width:150px;
        padding:12px 16px;
        margin:0;
        border:1px solid #ddd;
        border-radius:5px;
        cursor:pointer;
        background:#fff;
    }
    .payment-method-list label:has(input:checked){
        border-color:#2563eb;
        background:#eff6ff;
        color:#1d4ed8;
        font-weight:700;
    }
    .payment-method-list input[type="radio"]{
        margin:0;
    }
    .final-price{
        color:#e53935 !important;
        font-size:18px;
        font-weight:800;
    }
    .risk-pay-actions{
        display:flex;
        gap:18px;
        margin-top:18px;
    }
    .risk-pay-actions .btn-pay-page{
        flex:1;
        height:52px;
        border:0;
        border-radius:4px;
        font-size:16px;
        font-weight:700;
        cursor:pointer;
    }
    .risk-pay-actions .btn-prev{
        background:#2f5bea;
        color:#fff;
    }
    .risk-pay-actions .btn-pay{
        background:#2f5bea;
        color:#fff;
    }
    .risk-pay-actions .btn-pay-page:hover{
        filter:brightness(.94);
    }
    @media(max-width:767px){
        .risk-pay-wrap{
            padding:90px 12px 50px;
        }
        .risk-pay-wrap .lecture_contents{
            display:block;
        }
        .risk-course-visual{
            min-height:150px;
            margin-bottom:18px;
        }
        .risk-pay-wrap .list-definition{
            display:block;
        }
        .risk-pay-wrap .list-definition dt{
            width:auto;
            min-width:0;
            padding:12px 14px 5px;
            background:#fff;
        }
        .risk-pay-wrap .list-definition dd{
            padding:5px 14px 12px;
        }
        .risk-pay-actions{
            flex-direction:column;
        }
    }


    /* ===== 테이블 좌우 BORDER + 모바일 디자인 최종 보정 ===== */

    /* 전체 정보표에 상/하/좌/우 선 표시 */
    .risk-pay-wrap .list-table-bg{
        width:100%;
        margin:0;
        padding:0;
        list-style:none;
        border:1px solid #d9dee7 !important;
        border-radius:0;
        overflow:hidden;
        box-sizing:border-box;
        background:#fff;
    }

    .risk-pay-wrap .list-table-bg > li{
        border-bottom:1px solid #d9dee7 !important;
        box-sizing:border-box;
    }

    .risk-pay-wrap .list-table-bg > li:last-child{
        border-bottom:0 !important;
    }

    .risk-pay-wrap .list-definition{
        display:grid !important;
        grid-template-columns:180px minmax(0,1fr);
        width:100%;
        margin:0;
        align-items:stretch;
    }

    .risk-pay-wrap .list-definition dt{
        width:auto !important;
        min-width:0 !important;
        margin:0;
        padding:16px 18px;
        background:#f8f9fb;
        border-right:1px solid #d9dee7;
        display:flex;
        align-items:center;
        justify-content:center;
        font-weight:700;
        color:#222;
        box-sizing:border-box;
    }

    .risk-pay-wrap .list-definition dd{
        min-width:0;
        margin:0;
        padding:16px 20px;
        display:flex;
        align-items:center;
        color:#222;
        word-break:break-word;
        box-sizing:border-box;
    }

    /* 첫 과정정보 영역도 높이와 선 정리 */
    .risk-pay-wrap .lecture_contents{
        display:grid !important;
        grid-template-columns:300px minmax(0,1fr);
        gap:28px;
        align-items:stretch;
    }

    .risk-course-visual{
        width:100%;
        min-height:236px;
        box-sizing:border-box;
    }

    /* 신청정보 / 최종결제정보 카드 간격 */
    .risk-pay-wrap .detail-box{
        border:1px solid #d8dde6 !important;
        box-shadow:0 2px 8px rgba(15,23,42,.03);
    }

    /* 모바일 */
    @media(max-width:767px){

        .risk-pay-wrap{
            width:100%;
            max-width:100%;
            padding:92px 14px 40px !important;
            box-sizing:border-box;
        }

        .risk-pay-title{
            margin:0 0 22px;
            font-size:28px;
            line-height:1.25;
        }

        .risk-pay-wrap .detail-box{
            margin-bottom:16px;
            border-radius: 8px;
            margin: 0;
            width: 100%;
            margin-bottom: 20px;
        }

        .risk-pay-wrap .detail-box__info{
            padding:16px !important;
            margin: 0;
            width: 100%;
        }

        .risk-pay-wrap .detail-box__title,
        .risk-pay-wrap .section-box__title{
            margin-bottom:16px;
            padding-bottom:12px;
            font-size:19px;
            line-height:1.35;
        }

        /* 과정 이미지와 표를 세로 배치 */
        .risk-pay-wrap .lecture_contents{
            display:block !important;
        }

        .risk-course-visual{
            width:100%;
            min-height:180px !important;
            margin:0 0 16px;
            padding:24px 18px;
            border-radius:6px;
        }

        .risk-course-visual i{
            font-size:38px;
            margin-bottom:12px;
        }

        .risk-course-visual strong{
            font-size:21px;
            line-height:1.45;
        }

        /*
         * 모바일에서도 dt / dd를 위아래로 쪼개지 않고
         * '항목명 | 내용' 2열 구조 유지
         */
        .risk-pay-wrap .list-definition{
            display:grid !important;
            grid-template-columns:105px minmax(0,1fr) !important;
            width:100%;
        }

        .risk-pay-wrap .list-definition dt{
            width:auto !important;
            min-width:0 !important;
            padding:13px 8px !important;
            background:#f8f9fb !important;
            border-right:1px solid #d9dee7 !important;
            justify-content:center;
            text-align:center;
            font-size:13px;
            line-height:1.35;
        }

        .risk-pay-wrap .list-definition dd{
            min-width:0;
            padding:13px 12px !important;
            font-size:13px;
            line-height:1.45;
            background:#fff;
        }

        .risk-pay-wrap .list-table-bg{
            border-left:1px solid #d9dee7 !important;
            border-right:1px solid #d9dee7 !important;
            border-top:1px solid #d9dee7 !important;
            border-bottom:1px solid #d9dee7 !important;
        }

        .risk-pay-wrap .trainee-list{
            display:flex !important;
            flex-wrap:wrap;
            align-items:center;
            gap:5px;
        }

        .risk-pay-wrap .trainee-item{
            margin:0;
            padding:5px 9px;
            font-size:12px;
        }

        /* 결제수단은 모바일에서 세로로 넓게 */
        .payment-method-list{
            display:grid !important;
            grid-template-columns:1fr !important;
            gap:8px;
            width:100%;
        }

        .payment-method-list label{
            width:100%;
            min-width:0;
            min-height:44px;
            padding:10px 12px;
            box-sizing:border-box;
            font-size:13px;
        }

        .final-price{
            font-size:17px !important;
        }

        /* 이전 / 결제 버튼은 모바일에서 한 줄 2개 */
        .risk-pay-actions{
            display:grid !important;
            grid-template-columns:1fr 1fr !important;
            gap:10px !important;
            margin-top:16px;
        }

        .risk-pay-actions .btn-pay-page{
            width:100%;
            min-width:0;
            height:48px;
            font-size:14px;
            border-radius:6px;
        }
    }

    /* 아주 좁은 화면 */
    @media(max-width:420px){
        .risk-pay-wrap{
            padding-left:10px !important;
            padding-right:10px !important;
        }

        .risk-pay-wrap .detail-box__info{
            padding:13px !important;
        }

        .risk-pay-wrap .list-definition{
            grid-template-columns:92px minmax(0,1fr) !important;
        }

        .risk-pay-wrap .list-definition dt{
            padding:11px 6px !important;
            font-size:12px;
        }

        .risk-pay-wrap .list-definition dd{
            padding:11px 9px !important;
            font-size:12px;
        }

        .risk-course-visual{
            min-height:160px !important;
        }

        .risk-course-visual strong{
            font-size:19px;
        }
    }

/* ===== 관리감독자 상단 교육방식 버튼 ===== */
.sub-tab{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin:0 0 38px;
    padding:0;
    list-style:none;
}

.sub-tab .on-off{
    border:0 !important;
    border-radius:12px !important;
    overflow:hidden;
    background:transparent !important;
}

.sub-tab .on-off a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:120px;
    height:46px;
    padding:0 22px;
    border:1px solid #dfe3e8;
    border-radius:12px;
    background:#f7f9fc;
    color:#4b5563;
    font-size:15px;
    font-weight:700;
    transition:all .2s ease;
    box-shadow:0 4px 12px rgba(15,23,42,.05);
}

.sub-tab .on-off a p{
    margin:0 !important;
    line-height:1;
}

.sub-tab .on-off a:hover{
    transform:translateY(-2px);
    border-color:#b9c7da;
    background:#fff;
    color:#0d6efd;
    box-shadow:0 8px 18px rgba(15,23,42,.09);
}

.sub-tab .on-off.on a{
    background:#0d6efd;
    border-color:#0d6efd;
    color:#fff;
    box-shadow:0 8px 18px rgba(13,110,253,.18);
}

.sub-tab .on-off.on a:hover{
    background:#0a58ca;
    border-color:#0a58ca;
    color:#fff;
}

@media(max-width:767px){
    .sub-tab{
        gap:8px;
        margin-bottom:28px;
    }

    .sub-tab .on-off{
        flex:1 1 calc(33.333% - 8px);
    }

    .sub-tab .on-off a{
        min-width:0;
        width:100%;
        height:44px;
        padding:0 10px;
        font-size:14px;
    }
}


/* ===== 상단 교육방식 버튼 가로형 최종 보정 ===== */
#container .sub-tab{
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center;
    gap: 12px !important;
    width: auto !important;
    margin: 0 0 38px !important;
    padding: 0 !important;
    list-style: none !important;
}

#container .sub-tab > li,
#container .sub-tab .on-off{
    display:block !important;
    float:none !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:12px !important;
    overflow:visible !important;
    background:transparent !important;
    flex:0 0 auto !important;
}

#container .sub-tab .on-off a{
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    min-width:425px !important;
    height:46px !important;
    padding:0 22px !important;
    border:1px solid #dfe3e8 !important;
    border-radius:12px !important;
    background:#f7f9fc !important;
    color:#4b5563 !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    box-shadow:0 4px 12px rgba(15,23,42,.05);
    transition:all .2s ease;
}

#container .sub-tab .on-off a p{
    display:inline !important;
    margin:0 !important;
    padding:0 !important;
    line-height:1 !important;
    white-space:nowrap !important;
}

#container .sub-tab .on-off.on a{
    background:#0d6efd !important;
    border-color:#0d6efd !important;
    color:#fff !important;
    box-shadow:0 8px 18px rgba(13,110,253,.18);
}

#container .sub-tab .on-off a:hover{
    transform:translateY(-2px);
    border-color:#b9c7da !important;
    background:#fff !important;
    color:#0d6efd !important;
}

#container .sub-tab .on-off.on a:hover{
    background:#0a58ca !important;
    border-color:#0a58ca !important;
    color:#fff !important;
}

@media(max-width:767px){
    #container .sub-tab{
        flex-wrap:wrap !important;
        gap:8px !important;
    }

    #container .sub-tab > li,
    #container .sub-tab .on-off{
        flex:0 0 auto !important;
    }

    #container .sub-tab .on-off a{
        min-width:100px !important;
        height:42px !important;
        padding:0 14px !important;
        font-size:14px !important;
    }
}











    @media (min-width: 1300px) {
        #container {
            overflow: revert;
        }
    }
    .risk_title{
        text-align: center;
        color: #000000;
        margin-bottom: 60px;
    }
    .risk_title h1{
        display: inline-block;
    }
    .risk_table{
        margin-top: 60px;
    }
    table{
        width: 100%;
    }
    .risk_span{
        color: #ff0000;
    }
    .info_title{
        margin-bottom: 30px;
    }
    .info_title .model{
        display: block;
        width: 10px;
        height: 25px;
        position: absolute;
        background: #6495ed;
    }
    .info_title .title{
        font-size: 1.7rem;
        margin-left: 20px;
        position: relative;
        top: 5px;
        font-weight: bold;
    }
    .m-b-50{
        margin-bottom: 50px;
    }
    .m-l-30{
        margin-left: 30px !important;
    }
    .sub_text p{
        font-size: 1.3rem;
        line-height: 30px;
        margin-left: 20px;
        position: relative;
    }
    .location{
        display: flex;
        gap: 20px;
        position: relative;
        margin-bottom: 20px;
    }
    .location .addr{
        display: flex;
        align-items: center;
        gap: 24px;
    }
    .location > span{
        background: #637cff;
        padding: 10px;
        border-radius: 50%;
        width: 54px;
        height: 54px;
        text-align: center;
    }
    .location i{
        color: #ffffff;
        position: relative;
        top: 2px;
    }
    .loc_text p{
        font-size: 16px;
        position: relative;
        top: 5px;
        line-height: 22px;
    }
    table {
        text-align: center;
    }
    .se-table-content {
        border-top: 2px solid rgb(105, 151, 206);
        border-right: none;
        border-left: none;
        border-bottom: 1px solid rgb(165, 173, 189);
    }

    .header-cell {
        width: 34.63%;
        height: 40px;
        border-top: none;
        border-right: 1px solid rgb(226, 226, 226);
        border-left: 1px solid rgb(226, 226, 226);
        border-bottom: 1px solid rgb(165, 173, 189);
        background-color: rgb(245, 245, 247);
    }

    thead .se-cell {
        height: 40px;
        border-top: none;
        border-right: 1px solid rgb(226, 226, 226);
        border-left: 1px solid rgb(226, 226, 226);
        border-bottom: 1px solid rgb(165, 173, 189);
        background-color: #f5f5f7;
    }

    tbody .se-cell {
        padding: 0.5rem 1rem;
        height: 25px;
        border-top: none;
        border-right: 1px solid rgb(226, 226, 226);
        border-left: 1px solid rgb(226, 226, 226);
        border-bottom: none;
        background-color: #ffffff;
    }

    input[type="text"], input[type="password"], input[type="date"], input[type="email"], input[type="number"] {
        margin-right: 5px;
        padding: 0 0 0 5px;
        transition: width 1s;
        width: 25%;
        height: 40px;
        border: 1px solid #dbdbdb;
    }

    .icon-image {
        max-width: 25px;
    }
    .apply{
        text-align: center;
    }
    .apply button{
        font-size: 1.5rem;
    }
    @media(min-width:768px){
        .modal-dialog{
            width: 50%;
            height: 80%;
            max-width: none;
        }
        .modal-dialog .modal-content{
            height: 100%;
            border: 0;
            border-radius: 10px;
        }
        .modal-dialog .modal-body{
            overflow-y: auto;
        }
    }
    .fc-day-sun a{
        color: red;
    }
    .fc-day-sat a { 
        color: #637cff;
    }
    .holiday{
        pointer-events: none;
    }
    .modal-body h2{
        display: inline-block;
    }
    .app-title{
        margin: 20px 0;
        padding: 20px 0;
        border-bottom: 1px solid #000000;
    }
    .info{
        margin: 30px 0;
    }
    .info p:not(:last-child){
        margin-bottom: 10px;
    }
    .info p .subject{
        width: 200px;
        display: inline-block;
        font-size: 17px;
        font-weight: 500;
        line-height: 39px;
        color: #000000;
    }
    .info p .f-17{
        font-size: 17px;
        font-weight: 500;
        color: #666666;
    }
    .modal-body-app{
        padding: 20px 50px;
    }
    .color-red{
        color:#ff0000;
        margin-right: 5px;
    }
    .icon{
        margin-right: 10px;
    }
    .m-b-0{
        margin-bottom: 0 !important;
    }
    .edu_add{
        border-top: 1px solid #ddd;
        padding-top: 30px;
    }
    .chk_info{
        border-bottom: 2px dashed #ddd;
        padding: 20px 0;
        margin: 0;
    }
    #ci, #ai{
        font-size: 16px;
    }
    .point span{
        font-size: 16px;
        font-weight: bold;
        color: #666666;
    }
    .personal_info input{
        width: 18px;
        height: 18px;
        vertical-align: middle;
    }
    .agree_text{
        font-size: 18px;
        font-weight: bold;
        vertical-align: middle;
        position: relative;
        top: 3px;
        cursor: pointer;
    }
    .a_chk{
        color: #4c61b5 !important;
        font-weight: 500;
        width: auto;
        display: inline-block;
        position: relative;
        top: 3px;
        cursor: pointer;
    }
    .a_chk::after{
        display: block;
        content: '';
        border-bottom: solid 2px #4c61b5;
        transform: scaleX(0);
        transition: transform 250ms ease-in-out;
    }
    .a_chk:hover:after { transform: scaleX(1); }
    .per_sub_title{
        font-size: 18px;
        display: inline-block;
        font-weight: 500;
        color: #4c61b5;
    }
    .per_sub_content{
        font-size: 16px;
        color: #666666;
    }
    .personal_chk{
        display: none;
        padding: 30px;
        border: 1px solid #ddd;
        border-radius: 10px;
        background: #fbfbfb;
    }
    .personal_chk .text-left{
        text-align: left !important;
    }
    .fc .fc-daygrid-event-harness-abs{
        cursor: pointer;
    }
    .division_r::before{
        content: "";
        display: inline-block;
        width: 20px;
        height: 20px;
        background: #3788d8;
        vertical-align: sub;
    }
    .division_m::before{
        content: "";
        display: inline-block;
        width: 20px;
        height: 20px;
        background: #ff844b;
        vertical-align: sub;
    }
    .popover{
        max-width: 100%;
    }
    .popover-body{
        font-size: 16px;
        font-weight: bold;
        font-family: 'Pretendard', 'NotoSansKR', 'NanumBarunGothic', '나눔바른고딕', 'Open Sans', 'dotum';
    }
    .pop_title{
        width: 60px;
        display: inline-block;
        text-align: right;
        margin-right: 10px;
    }
    .sticky{
        max-height: 500px;
        overflow: auto;
    }
    .sticky table thead tr th{
        background: #f5f5f5;
        font-size: 15px;
        position: sticky;
        top: -1px;
    }
    .w90{
        width: 90px;
        display: inline-block;
    }
    .my_chk{
        display: inline;
        float: right;
    }
    .my_chk label{
        font-size: 18px;
        position: relative;
        top: 6px;
        font-weight: bold;
    }
    .my_chk input{
        width: 20px;
        height: 20px;
        position: absolute;
        top: 0;
        transform: translate(0px, -5px);
    }
    .trainee_info .info{
        position: relative;
    }
    .trainee_info input, .bill input{
        background: #F5F5F5;
    }
    .trainee_info input:focus, .bill input:focus{
        background: #ffffff;
    }
    .exp{
        font-size: 1em;
    }
    .trainee_del{
        position: absolute;
        top: 18%;
        right: 0;
        padding: 10px;
        border: 1px solid #ddd;
        width: 40px;
        height: 40px;
        text-align: center;
        cursor: pointer;
    }


    .page-tit {
        margin-top: 24px;
        font-weight: 500 !important;
    }

    .content {
        margin-bottom: 54px;
    }

    table {
        text-align: center;
    }

    .se-table-content {
        border-top: 2px solid rgb(105, 151, 206);
        border-right: none;
        border-left: none;
        border-bottom: 1px solid rgb(165, 173, 189);
    }

    .header-cell {
        width: 34.63%;
        height: 40px;
        border-top: none;
        border-right: 1px solid rgb(226, 226, 226);
        border-left: 1px solid rgb(226, 226, 226);
        border-bottom: 1px solid rgb(165, 173, 189);
        background-color: rgb(245, 245, 247);
    }

    thead .se-cell {
        height: 40px;
        border-top: none;
        border-right: 1px solid rgb(226, 226, 226);
        border-left: 1px solid rgb(226, 226, 226);
        border-bottom: 1px solid rgb(165, 173, 189);
        background-color: #f5f5f7;
    }

    tbody .se-cell {
        padding: 0.5rem 1rem;
        height: 25px;
        border-top: none;
        /* border-right: 1px solid rgb(226, 226, 226);
        border-left: 1px solid rgb(226, 226, 226);
        border-bottom: none; */
        background-color: #ffffff;
        border: 1px solid #e2e2e2;
    }

    .icon-image {
        max-width: 25px;
    }
    .nav{
        --bs-nav-link-padding-x: 1.3rem;
        --bs-nav-link-padding-y: 0.8rem;
        font-size: 20px;
        gap: 10px;
    }
    .nav-item{
        border: 1px solid #ddd;
        border-radius: 5px;
    }
    .table_div{
        overflow: auto;
    }
    .table.table-bordered{
        width: 1300px;
    }
    .nav-link.active{
        background: #0d6efd !important;
        color: #fff !important;
        border-color: #0d6efd !important;
    }
    .nav-link{
        border: 1px solid #dfe3e8 !important;
        background: #f4f6f8;
        color: #68717d;
        font-size: 20px !important;
        font-weight: 700;
        text-align: center;
        transition: all .2s ease;
    }

    /* manage_supervision : riskassessment.html 디자인 정렬 보정 */
    .risk_guide_table{
        overflow:auto;
    }

    .risk_guide_table .table{
        min-width:1000px;
    }

    #myTab{
        margin-top:20px;
    }

    #myTab .nav-item{
        border:0;
    }

    #myTab .nav-link{
        border-radius:4px 4px 0 0;
    }

    .education-month-filter{
        display:flex;
        align-items:center;
        gap:10px;
        margin-bottom:15px;
    }

    .education-month-filter .form-select{
        width:220px;
        height:44px;
    }

    .filter-label{
        font-size: 15px;
        font-weight: 700;
        color: #333;
        white-space: nowrap;
    }

    .apply-notice{
        margin:8px 0 14px;
    }

    .apply-notice p{
        margin:0 0 5px;
    }

    .risk_schedule_table{
        overflow:auto;
    }

    @media(max-width:767px){
        .risk_title{
            margin-bottom:35px;
        }

        .education-month-filter{
            align-items:flex-start;
            flex-direction:column;
        }

        .education-month-filter .form-select{
            width:100%;
        }
    }


    /* ===== 관리감독자 교육 일정표 전용 ===== */
    .risk_schedule_table{
        width:100%;
        max-height:none !important;
        overflow-x:auto !important;
        overflow-y:visible !important;
        border-top:0;
    }

    .risk_schedule_table .manage-schedule-table{
        width:100% !important;
        min-width:1180px;
        margin:0 !important;
        table-layout:fixed !important;
        border-collapse:collapse !important;
        background:#fff;
    }

    .risk_schedule_table .manage-schedule-table col.col-industry{ width:8%; }
    .risk_schedule_table .manage-schedule-table col.col-name{ width:15%; }
    .risk_schedule_table .manage-schedule-table col.col-date{ width:14%; }
    .risk_schedule_table .manage-schedule-table col.col-time{ width:8%; }
    .risk_schedule_table .manage-schedule-table col.col-apply-period{ width:19%; }
    .risk_schedule_table .manage-schedule-table col.col-region{ width:7%; }
    .risk_schedule_table .manage-schedule-table col.col-status{ width:8%; }
    .risk_schedule_table .manage-schedule-table col.col-personnel{ width:8%; }
    .risk_schedule_table .manage-schedule-table col.col-action{ width:13%; }

    .risk_schedule_table .manage-schedule-table thead{
        display:table-header-group !important;
    }

    .risk_schedule_table .manage-schedule-table tbody{
        display:table-row-group !important;
    }

    .risk_schedule_table .manage-schedule-table tr{
        display:table-row !important;
    }

    .risk_schedule_table .manage-schedule-table th,
    .risk_schedule_table .manage-schedule-table td{
        display:table-cell !important;
        box-sizing:border-box;
        padding:13px 8px !important;
        border:1px solid #dfe3e8 !important;
        text-align:center !important;
        vertical-align:middle !important;
        line-height:1.45;
        word-break:keep-all;
        overflow-wrap:break-word;
        white-space:normal !important;
    }

    .risk_schedule_table .manage-schedule-table thead th{
        position:static !important;
        top:auto !important;
        background:#f5f5f7 !important;
        color:#20252b;
        font-size:14px !important;
        font-weight:700;
    }

    .risk_schedule_table .manage-schedule-table tbody td{
        background:#fff !important;
        color:#333;
        font-size:14px;
    }

    .risk_schedule_table .manage-schedule-table tbody tr:hover td{
        background:#f8fbff !important;
    }

    .risk_schedule_table .manage-schedule-table td:nth-child(3),
    .risk_schedule_table .manage-schedule-table td:nth-child(5){
        white-space:nowrap !important;
    }

    .risk_schedule_table .manage-schedule-table td:nth-child(7){
        font-weight:700;
    }

    .risk_schedule_table .manage-schedule-table td:last-child{
        padding:8px !important;
    }

    .risk_schedule_table .manage-schedule-table .btn{
        min-width:92px;
        height:40px;
        padding:0 14px;
        border-radius:5px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        font-size:14px;
        font-weight:700;
        white-space:nowrap;
    }

    .risk_schedule_table .manage-schedule-table .btn a{
        display:flex;
        width:100%;
        height:100%;
        align-items:center;
        justify-content:center;
    }

    .ajax-error-cell,
    .schedule-empty-cell{
        height:72px !important;
        text-align:center !important;
        color:#6b7280 !important;
    }

    @media(max-width:767px){
        .risk_schedule_table .manage-schedule-table{
            min-width:1050px;
        }

        .risk_schedule_table .manage-schedule-table th,
        .risk_schedule_table .manage-schedule-table td{
            font-size:13px !important;
            padding:11px 6px !important;
        }
    }


    /* AJAX 재조회 후 셀 정렬 고정 */
    #educationRowsEtc > tr > td,
    #educationRowsJejo > tr > td{
        display:table-cell !important;
        float:none !important;
        position:static !important;
        margin:0 !important;
        vertical-align:middle !important;
    }

    #educationRowsEtc > tr,
    #educationRowsJejo > tr{
        display:table-row !important;
        width:auto !important;
    }

    #educationRowsEtc,
    #educationRowsJejo{
        display:table-row-group !important;
        width:auto !important;
    }

    #educationRowsEtc > tr > td:nth-child(1),
    #educationRowsJejo > tr > td:nth-child(1){ width:8% !important; }

    #educationRowsEtc > tr > td:nth-child(2),
    #educationRowsJejo > tr > td:nth-child(2){ width:15% !important; }

    #educationRowsEtc > tr > td:nth-child(3),
    #educationRowsJejo > tr > td:nth-child(3){ width:14% !important; }

    #educationRowsEtc > tr > td:nth-child(4),
    #educationRowsJejo > tr > td:nth-child(4){ width:8% !important; }

    #educationRowsEtc > tr > td:nth-child(5),
    #educationRowsJejo > tr > td:nth-child(5){ width:19% !important; }

    #educationRowsEtc > tr > td:nth-child(6),
    #educationRowsJejo > tr > td:nth-child(6){ width:7% !important; }

    #educationRowsEtc > tr > td:nth-child(7),
    #educationRowsJejo > tr > td:nth-child(7){ width:8% !important; }

    #educationRowsEtc > tr > td:nth-child(8),
    #educationRowsJejo > tr > td:nth-child(8){ width:8% !important; }

    #educationRowsEtc > tr > td:nth-child(9),
    #educationRowsJejo > tr > td:nth-child(9){ width:13% !important; }