/* student-refresh.css — 학생 포털 공개 여정 스킨 (티어 A, 2026-09-23)
   범위: body.sr-public 이 붙는 비로그인 공개 페이지만. DOM·JS·폼 계약은 건드리지 않는다.
   토큰은 icare-dst/legacy-patches/student/brand-refresh-20260922/preview/styles.css 의 :root 와 동일.
   구형 태블릿 호환: has 선택자, 동적 뷰포트 단위, 컨테이너 쿼리 미사용. CSS 변수는 body.sr-public 에 둔다. */

@font-face{font-family:Pretendard;src:url('/fonts/PretendardVariable-subset.woff2') format('woff2');font-weight:100 900;font-display:swap}

body.sr-public{--bg:#f5fff5;--surface:#fff;--tint:#eaf5ec;--ink:#043a1a;--sub:#526151;--line:#d6e5d8;--lime:#c8d935;--focus:#608723;--heading-accent:#49652e;--control-border:#a9bdaa;--ring:#e0ede1;--error:#a34232;--error-bg:#fffaf8}

/* ---------- 기본 ---------- */
body.sr-public{background-color:var(--bg);color:var(--ink);font-family:Pretendard,"Noto Sans KR",sans-serif;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}
.sr-public h1,.sr-public h2,.sr-public h3,.sr-public h4,.sr-public h5,.sr-public h6{color:var(--ink);letter-spacing:-.03em}
.sr-public a{color:var(--ink)}
.sr-public a:hover{color:#15552e}
.sr-public ::selection{background:var(--lime);color:var(--ink)}
.sr-public a:focus-visible,.sr-public button:focus-visible,.sr-public summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.sr-public .text-info{color:var(--sub)!important}
.sr-public .text-danger{color:var(--error)!important}
.sr-public .small,.sr-public small{font-size:13px;line-height:1.7}
.sr-public hr{border-top:1px solid var(--line)}
.sr-public img{max-width:100%}

/* ---------- 헤더 ---------- */
.sr-public #header{background-color:var(--bg);border-bottom:1px solid var(--line);font-family:Pretendard,"Noto Sans KR",sans-serif}
.sr-public nav#header,.sr-public #header .navbar.navbar-expand-md{padding:0}
.sr-public #header .navbar.container{min-height:88px;padding-top:12px;padding-bottom:12px;align-items:center}
.sr-public .navbar a{color:var(--ink);font-family:inherit}
.sr-public .navbar-brand{display:inline-flex;align-items:center;padding:0;margin-right:24px;background:url('/images/home/logo_icare_horizontal.png') no-repeat left center;background-size:auto 40px;min-height:44px}
.sr-public .navbar-brand img{width:214px;max-width:214px;height:40px;opacity:0}
/* 시안 헤더의 "학생 검사" 표식(.brand>span). 원본의 'for Students' 맥락을 대신한다 */
.sr-public .navbar-brand::after{content:"\D559\C0DD\20\AC80\C0AC";margin-left:24px;border-left:1px solid var(--line);padding-left:22px;font-size:14px;font-weight:550;line-height:1.4;color:var(--sub);white-space:nowrap}
@media (min-width:768px) and (max-width:991px){.sr-home .navbar-brand::after{display:none}}
@media (max-width:767px){.sr-public .navbar-brand::after{margin-left:13px;padding-left:12px;font-size:13px}}
@media (max-width:359px){.sr-public .navbar-brand::after{display:none}}
.sr-public .navbar-nav{display:flex;align-items:center;gap:6px}
.sr-public .navbar-nav>li{display:block;float:none;text-align:left}
.sr-public .navbar-nav .nav-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;font-size:14px;font-weight:600;color:var(--ink);border-radius:8px}
.sr-public .navbar-nav .nav-link:hover{background:var(--tint)}
.sr-public .navbar-nav .nav-item.active .nav-link{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.sr-public .navbar-nav .nav-link.admin-link{background:transparent;color:var(--sub)!important;border:1px solid #94ad9a;border-radius:99px;padding:8px 18px;margin-left:12px;position:static;text-align:center;text-decoration:none!important}
.sr-public .navbar-nav .nav-link.admin-link:before,.sr-public .navbar-nav .nav-link.admin-link:after{display:none;content:none}
.sr-public .navbar-nav .nav-link.admin-link:hover{background:#dceee0;color:var(--ink)!important}
.sr-public .navbar-toggler{width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;align-items:center;justify-content:center}
.sr-public .navbar-toggler:not([hidden]){display:inline-flex}
@media (min-width:992px){.sr-public .navbar-expand-lg .navbar-toggler{display:none}}
@media (min-width:768px){.sr-public .navbar-expand-md .navbar-toggler{display:none}}
.sr-public .navbar-toggler:focus{box-shadow:0 0 0 3px var(--ring)}
.sr-public .navbar-toggler-icon{width:22px;height:22px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16' stroke='%23043a1a' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")}
@media (min-width:768px){
  .sr-public .logout.navbar-nav,.sr-public .login.navbar-nav{width:auto}
  .sr-public .navbar-nav{display:flex;width:auto;margin-left:auto}
  .sr-public .navbar-nav>li{display:block}
}
@media (max-width:991px){
  .sr-public .navbar-expand-lg .navbar-collapse{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:8px 12px;margin-top:10px;box-shadow:0 12px 32px rgba(4,58,26,.08)}
  .sr-public .navbar-expand-lg .navbar-nav{display:block}
  .sr-public .navbar-expand-lg .navbar-nav .nav-link{display:flex;min-height:48px;font-size:15px}
  .sr-public .navbar-expand-lg .navbar-nav .nav-link.admin-link{display:inline-flex;margin:8px 0 4px 12px}
}
@media (min-width:768px) and (max-width:991px){
  .sr-home .navbar-nav{gap:2px}
  .sr-home .navbar-nav .nav-link{padding:8px 8px;font-size:13px}
  .sr-home .navbar-nav .nav-link.admin-link{padding:8px 14px;margin-left:6px}
  .sr-home .navbar-brand{margin-right:12px;background-size:auto 32px}
  .sr-home .navbar-brand img{width:171px;max-width:171px;height:32px}
}
@media (max-width:767px){
  .sr-public .navbar-expand-md .navbar-collapse{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:8px 12px;margin-top:10px;box-shadow:0 12px 32px rgba(4,58,26,.08)}
  .sr-public .navbar-expand-md .navbar-nav{display:block}
  .sr-public .navbar-expand-md .navbar-nav .nav-link{display:flex;min-height:48px;font-size:15px}
  .sr-public .navbar-expand-md .navbar-nav .nav-link.admin-link{display:inline-flex;margin:8px 0 4px 12px}
}
@media (min-width:768px){
  .sr-public #header .navbar.container{padding-left:15px;padding-right:15px}
  .sr-home #header .navbar.container{padding-left:0;padding-right:0}
}
@media (max-width:767px){
  .sr-public #header .navbar.container{min-height:76px;margin-left:0;margin-right:0;padding-left:20px;padding-right:20px;max-width:100%}
  .sr-public .navbar-brand{background-size:auto 32px;min-height:40px}
  .sr-public .navbar-brand img{width:171px;max-width:171px;height:32px}
  .sr-public a.nav-link{padding-left:12px!important}
  .sr-public a.nav-link:before{content:none}
}

/* ---------- 상단 띠(.nutricare) ---------- */
.sr-public .nutricare{background-image:none!important;background-color:transparent;width:100%;max-width:none;padding-left:0;padding-right:0}
.sr-public .nutricare>h1{color:var(--ink);font-size:36px;font-weight:720;line-height:1.25;letter-spacing:-.035em;text-align:left;padding:40px 0 22px;max-width:1140px;margin:0 auto;padding-left:15px;padding-right:15px}
@media (min-width:768px){.sr-public .nutricare>h1{max-width:720px}}
@media (min-width:992px){.sr-public .nutricare>h1{max-width:960px}}
@media (min-width:1200px){.sr-public .nutricare>h1{max-width:1140px}}
.sr-public .nutricare>.container{margin-bottom:64px}
@media (max-width:767px){.sr-public .nutricare>h1{font-size:28px;padding:26px 20px 14px}}

/* 소개·동의 상단 바(.shadow.bg-white.rounded h4) → 페이지 제목 */
.sr-public .container>.shadow.bg-white{box-shadow:none!important;background:transparent!important;padding:40px 0 18px!important;margin:0!important;border-radius:0}
.sr-public .container>.shadow.bg-white h4{font-size:36px;font-weight:720;line-height:1.25;letter-spacing:-.035em}
@media (max-width:767px){.sr-public .container>.shadow.bg-white{padding:26px 0 12px!important}.sr-public .container>.shadow.bg-white h4{font-size:28px}}

/* ---------- 카드 / 폼 ---------- */
.sr-public .card{background:var(--surface);border:1px solid var(--line);border-radius:24px}
.sr-public .card+.card,.sr-public .card.mt-2{margin-top:20px!important}
.sr-public .card-body{padding:34px 38px}
.sr-public .card-body h5{font-size:21px;font-weight:650;line-height:1.5;letter-spacing:-.025em;margin:0 0 20px}
.sr-public .card-body h5+.form-group{margin-top:4px}
.sr-public .form-group{margin-bottom:20px}
.sr-public .col-form-label{font-size:14px;font-weight:600;line-height:1.65;color:var(--ink);padding-top:14px}
.sr-public .test-form .question{font-size:17px;font-weight:600;line-height:1.6;letter-spacing:-.02em;color:var(--ink);padding:0;margin:0 0 12px}
.sr-public .form-group.row>.col-sm-10.form-inline,.sr-public .form-group.row>.col-sm-9.form-inline{align-items:center}
.sr-public .form-control,.sr-public .custom-select{height:52px;border:1px solid var(--control-border);border-radius:12px;padding:12px 15px;background-color:#fff;color:var(--ink);font-size:16px;line-height:1.5;transition:border-color 160ms,box-shadow 160ms}
.sr-public .form-control::placeholder{color:#6c786c;opacity:1}
.sr-public .form-control:hover,.sr-public .custom-select:hover{border-color:#63836a}
.sr-public .form-control:focus,.sr-public .custom-select:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--ring);color:var(--ink)}
.sr-public .form-control:focus-visible,.sr-public .custom-select:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.sr-public .form-control:disabled,.sr-public .custom-select:disabled{background-color:#f2f6f1;color:#596759}
.sr-public .form-control[readonly]{background-color:#fff;color:var(--ink)}
.sr-public .form-control.is-invalid,.sr-public .custom-select.is-invalid{border-color:var(--error);background-color:var(--error-bg)}
.sr-public .form-control-plaintext{font-size:16px;line-height:1.5;color:var(--ink);padding:14px 0;border:0}
.sr-public .form-inline .form-control{width:100%;max-width:420px}
.sr-public .form-control.float_only{width:6.5em!important}
.sr-public .form-inline select.form-control{width:auto;min-width:120px;max-width:none;padding-right:38px}
.sr-public select.form-control{-webkit-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' stroke='%23043a1a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 15px center/12px 12px;padding-right:40px}
.sr-public .test-form select.custom-select{width:auto;min-width:150px;padding-right:38px}
.sr-public #parent_id,.sr-public #institution{width:100%;max-width:420px}
.sr-public .test-form .col-md-6.col-sm-8{flex:0 0 100%;max-width:100%}
.sr-public .custom-select.ml-2{margin-left:10px!important}
.sr-public .input-group{max-width:420px;width:100%;flex-wrap:nowrap}
.sr-public .input-group>.form-control{width:1%;max-width:none;flex:1 1 auto;border-top-right-radius:0;border-bottom-right-radius:0}
.sr-public .input-group>.form-control:only-child{border-radius:12px}
.sr-public .input-group-append .btn{height:52px;border:1px solid var(--control-border);border-left:0;border-radius:0 12px 12px 0;background:var(--tint);color:var(--ink);padding:0 16px;min-height:0}
.sr-public .form-inline .ml-1{font-size:15px;color:var(--sub)}
.sr-public .text-info.small,.sr-public .small.text-info{color:var(--sub)!important;font-size:12px;line-height:1.8;margin-top:6px}
.sr-public .form-group .offset-sm-2.small,.sr-public .form-group .offset-sm-3.small{padding-top:6px}

/* 라디오·체크박스 (Bootstrap custom-control, :has 미사용) */
.sr-public .custom-control{min-height:32px;padding-left:30px;margin:6px 0}
.sr-public .custom-control-inline{margin-right:22px}
.sr-public .test-form .custom-control{margin:6px 0}
.sr-public .test-form .custom-control.custom-control-inline{margin-right:22px}
.sr-public .custom-control-label{font-size:15px;line-height:1.7;color:var(--ink);cursor:pointer;padding-top:2px}
.sr-public .custom-control-label::before{width:20px;height:20px;top:4px;left:-30px;border:1.5px solid var(--control-border);background:#fff;transition:background-color 120ms,border-color 120ms}
.sr-public .custom-control-label::after{width:20px;height:20px;top:4px;left:-30px}
.sr-public .custom-control-input:checked~.custom-control-label::before{background-color:var(--ink);border-color:var(--ink)}
.sr-public .custom-control-input:checked~.custom-control-label{font-weight:600}
.sr-public .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 3px var(--ring)}
.sr-public .custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:var(--ink)}
.sr-public .custom-control-input:focus-visible~.custom-control-label::before{outline:3px solid var(--focus);outline-offset:3px}
.sr-public .custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2.6' fill='%23fff'/%3E%3C/svg%3E")}
.sr-public .custom-control-input:disabled~.custom-control-label{color:#596759}

/* 동의 문구 */
.sr-public #divPrivacy{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.sr-public #divPrivacy .custom-control{margin:16px 0 8px}
.sr-public #divPrivacy .custom-control-label{font-size:15px;font-weight:600}
.sr-public #divPrivacy ol{padding-left:30px;margin:0 0 6px}
.sr-public #divPrivacy li{color:var(--sub);font-size:13px;line-height:1.85;margin:4px 0}
.sr-public .text-content ul[style],.sr-public .text-content div[style*="border"]{border:1px solid var(--line)!important;border-radius:14px;background:#f8fcf8;padding:14px 18px}
.sr-public .text-content ul[style]{padding-left:36px}
.sr-public .text-content div[style*="border"]>ol{padding-left:22px}
.sr-public .text-content ol,.sr-public .text-content ul{margin:0}
.sr-public .text-content ol li,.sr-public .text-content ul li{color:var(--sub);font-size:13px;line-height:1.85;margin:4px 0}
.sr-public .text-content h4{font-size:17px;font-weight:650;line-height:1.6;margin:28px 0 10px}
.sr-public .text-content .text-sm-right{text-align:left!important}
.sr-public .text-content .text-sm-right .custom-control{margin:4px 0 0}
.sr-public .text-content .custom-control-label{font-size:15px}

/* 버튼 */
.sr-public .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 24px;border:1px solid transparent;border-radius:99px;font-size:15px;font-weight:650;line-height:1.4;white-space:nowrap;transition:background-color 160ms,color 160ms,transform 160ms,border-color 160ms}
.sr-public .btn:active{transform:scale(.98)}
.sr-public .btn:focus,.sr-public .btn.focus{box-shadow:0 0 0 3px var(--ring)!important}
.sr-public .btn .fa{font-size:14px}
.sr-public .btn-primary,.sr-public .btn-primary:not(:disabled):not(.disabled):active{background:var(--ink);border-color:var(--ink);color:#fff}
.sr-public .btn-primary:hover{background:#15552e;border-color:#15552e;color:#fff}
.sr-public .btn-before,.sr-public .btn-before:not(:disabled):not(.disabled):active,.sr-public #test_search_form>.button-area .btn-primary,.sr-public #test_search_form>.button-area .btn-primary:not(:disabled):not(.disabled):active,.sr-public #btn-list .btn-primary,.sr-public #btn-list .btn-primary:not(:disabled):not(.disabled):active{background:transparent;border-color:#94ad9a;color:var(--ink)}
.sr-public .btn-before:hover,.sr-public #test_search_form>.button-area .btn-primary:hover,.sr-public #btn-list .btn-primary:hover{background:#dceee0;border-color:#94ad9a;color:var(--ink)}
.sr-public .btn-success,.sr-public .btn-secondary,.sr-public .btn-light,.sr-public .btn-success:not(:disabled):not(.disabled):active,.sr-public .btn-secondary:not(:disabled):not(.disabled):active{background:transparent;border-color:#94ad9a;color:var(--ink)}
.sr-public .btn-success:hover,.sr-public .btn-secondary:hover,.sr-public .btn-light:hover{background:#dceee0;border-color:#94ad9a;color:var(--ink)}
.sr-public .btn-lg{min-height:56px;padding:14px 28px;font-size:16px}
.sr-public .btn-sm{min-height:44px;padding:9px 18px;font-size:14px}
.sr-public .btn:disabled,.sr-public .btn.disabled{opacity:.5}
.sr-public .button-area{margin:26px 0 4px;text-align:center}
.sr-public .button-area .btn+.btn{margin-left:10px}
.sr-public .test-form .button-area{margin:26px 0 4px}
.sr-public #divNextButton,.sr-public .button-area.agree_first,.sr-public .button-area.agree-first{margin-top:28px}
.sr-public #btnUserSearch{min-width:160px}
.sr-public #infoUserSearch{margin-top:10px}

/* 모바일 단계 진행바 */
.sr-public .progress{height:24px;border-radius:99px;background:var(--tint);margin-bottom:6px}
.sr-public .progress-bar{background:var(--ink);font-size:12px;font-weight:600;border-radius:99px}

/* 소개·이용절차 본문 */
.sr-public .text-content{margin:0}
.sr-public .text-content .card-title{font-size:24px;font-weight:650;line-height:1.5;letter-spacing:-.025em;margin-bottom:18px}
.sr-public .text-content p{font-size:16px;line-height:1.95;color:var(--sub);text-indent:0;text-align:left;margin-bottom:18px;max-width:73ch}
.sr-public .text-content h5{font-size:18px;font-weight:650;line-height:1.6;margin-bottom:8px}
.sr-public .text-content h6{color:var(--ink)}
.sr-public .text-content .my-4{color:var(--sub);font-size:15px;line-height:1.9}
.sr-public .text-content a{text-decoration:underline;text-underline-offset:4px;font-weight:600}
.sr-public .text-content .text-center a{text-decoration:none}
.sr-public .text-content .text-center.mt-4{margin-top:30px!important;padding-top:24px;border-top:1px solid var(--line)}

/* ---------- 홈 ---------- */
.sr-home #header{border-bottom:1px solid var(--line)}
.sr-home #main_bg{align-items:center;padding:48px 0 32px}
.sr-home #main_bg .title{font-family:inherit;font-size:20px;font-weight:600;color:var(--sub);line-height:1.8}
.sr-home #main_bg .title img{margin-bottom:10px}
.sr-home hr[style]{width:100%!important;margin:0;border-top:1px solid var(--line)}
.sr-home .container>hr[style]{display:none}
.sr-home .card{margin:18px 0;text-align:left}
.sr-home #main_dst.card,.sr-home #main_dbt.card,.sr-home #main_dit.card{margin:18px 0 0}
.sr-home #main_dst.card,.sr-home #main_dbt.card,.sr-home #main_dit.card,.sr-home #main_usage.card{padding:0}
.sr-home .card .card-body.p-5{padding:32px 38px!important;display:flex;flex-wrap:wrap;align-items:center;gap:18px 32px}
.sr-home .card .card-body.p-5>div:first-child{flex:1 1 420px;min-width:0}
.sr-home #main_dst .card-body.p-5>div:first-child>div:first-child,.sr-home #main_dbt .card-body.p-5>div:first-child>div:first-child,.sr-home #main_dit .card-body.p-5>div:first-child>div:first-child{font-family:Nunito,Pretendard,sans-serif;font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--sub);margin-bottom:6px}
.sr-home .card h2{font-size:23px;font-weight:650;line-height:1.4;letter-spacing:-.03em;padding:0;margin:0 0 10px;color:var(--ink)}
.sr-home .card .card-body.p-5>div:first-child>div:nth-child(3),.sr-home #main_dit .card-body.p-5>div:first-child>div:nth-child(4){font-size:15px;line-height:1.7;color:var(--sub);max-width:60ch}
.sr-home .card .small{color:var(--ink);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
.sr-home .card .image{display:none}
.sr-home .card .card-body.p-5>.pt-2{flex:0 0 auto;display:flex;gap:10px;align-items:center;padding-top:0!important}
.sr-home .card .card-body.p-5>.pt-2 .btn{min-height:52px;padding:12px 22px;font-size:15px}
.sr-home .card .card-body.p-5>.pt-2 .btn-light:first-child{background:var(--ink);border-color:var(--ink);color:#fff}
.sr-home .card .card-body.p-5>.pt-2 .btn-light:first-child:hover{background:#15552e;border-color:#15552e}
.sr-home .card .card-body.p-5>.pt-2 .btn-light:first-child .fa{color:#c8d935!important}
.sr-home #main_usage .card-body.p-5{display:block}
.sr-home #main_usage h2.card-title{font-size:26px;margin-bottom:12px}
.sr-home #main_usage .col-12>div{font-size:15px;line-height:1.8;color:var(--sub)}
.sr-home #main_usage .col-12>div a{font-weight:600;text-decoration:underline;text-underline-offset:4px}
.sr-home #main_usage .col-12.col-lg-6{display:flex;align-items:center}
.sr-home #main_usage div[style*="background-color"]{flex:0 0 40px;margin-right:14px!important;background-color:var(--ink)!important;color:#fff;border-radius:50%;width:40px;height:40px;line-height:40px;padding:0!important;text-align:center;font-size:18px!important;vertical-align:middle}
.sr-home #main_usage a[style],.sr-home #main_usage span[style]{color:var(--ink)!important;font-size:18px!important;font-weight:600;vertical-align:middle}
.sr-home a.scroll-to-top{background:var(--ink);color:#fff;border-radius:99px;padding:12px 20px;font-size:13px;font-weight:600}
.sr-home a.scroll-to-top:hover,.sr-home a.scroll-to-top:focus{background:#15552e;color:#fff}
@media (max-width:767px){
  .sr-home #header>.container{padding-left:0;padding-right:0}
  .sr-home #main_usage a[style],.sr-home #main_usage span[style]{font-size:17px!important;line-height:1.5}
  .sr-home #main_bg{padding:28px 0 20px;align-items:flex-start}
  .sr-home #main_bg .title{font-size:15px;padding-bottom:16px}
  .sr-home #main_bg .background-image{order:2;max-width:220px;align-self:flex-end;margin-top:-40px}
  .sr-home .card .card-body.p-5{padding:22px 20px!important;gap:14px}
  .sr-home .card h2{font-size:19px}
  .sr-home .card .card-body.p-5>.pt-2{width:100%;justify-content:space-between}
  .sr-home .card .card-body.p-5>.pt-2 .btn{flex:1}
}

/* ---------- 로그인 ---------- */
.sr-public #loginForm h2[style]{font-size:36px!important;font-weight:720!important;letter-spacing:-.035em;margin:40px 0 18px!important}
.sr-public #loginForm .card{margin:0 0 40px!important}
.sr-public #loginForm .col-form-label.text-right{text-align:left!important}
.sr-public #loginForm h2[style] .fa{margin-right:12px;font-size:.8em;vertical-align:.08em}
.sr-public #loginForm button[type=submit]{height:auto!important;padding:14px 22px!important;margin:0 0 1rem!important;min-height:52px}
@media (max-width:767px){.sr-public #loginForm h2[style]{font-size:28px!important;margin-top:26px!important}}

/* ---------- 검색(결과 확인) ---------- */
.sr-public .table td,.sr-public .table th{word-break:normal;overflow-wrap:anywhere}
.sr-public .table td .btn{white-space:nowrap}
.sr-public #test_search_form .m3{margin-top:10px}
.sr-public #test_search_form .col-form-label.text-sm-right{text-align:left!important}
.sr-public #dst_input_basic_form>.card:first-child{display:none}

/* ---------- 모달 ---------- */
.sr-public .modal-content{border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 48px rgba(4,58,26,.14)}
.sr-public .modal-header{border-bottom:1px solid var(--line);padding:20px 24px 14px}
.sr-public .modal-title{font-size:18px;font-weight:650}
.sr-public .modal-body{font-size:15px;line-height:1.8;color:var(--sub);padding:18px 24px}
.sr-public .modal-body p{margin-bottom:6px}
.sr-public .modal-footer{border-top:1px solid var(--line);padding:14px 24px}

/* ---------- 푸터 ---------- */
.sr-public #footer{background:var(--tint);border-top:1px solid var(--line);font-family:inherit;padding:36px 0 32px!important;margin-top:48px}
.sr-home #footer{margin-top:32px;border-radius:24px 24px 0 0}
body.sr-public:not(.sr-home){display:flex;flex-direction:column;min-height:100vh}
.sr-public:not(.sr-home) #app{display:flex;flex-direction:column;flex:1 0 auto}
.sr-public:not(.sr-home) #app::after{content:"";flex:1 0 auto;order:1}
.sr-public:not(.sr-home) #app>#footer{order:2}
.sr-public:not(.sr-home) .nutricare>.container{margin-bottom:0}
.sr-public #footer address{font-size:12px;line-height:1.9;color:var(--sub);text-align:left;margin:0}
.sr-public #footer #bottom_logo{display:none!important}
.sr-public #footer address a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:4px;margin-right:12px}

/* ---------- 카드 안 여백 (모바일) ---------- */
@media (max-width:767px){
  .sr-public .container{max-width:100%;padding-left:20px;padding-right:20px}
  .sr-public .test-form .question{font-size:16px}
  .sr-public .card{border-radius:20px}
  .sr-public .card-body{padding:22px 18px}
  .sr-public .card-body h5{font-size:19px;margin-bottom:16px}
  .sr-public .col-form-label{padding-top:0;padding-bottom:6px}
  .sr-public .form-inline .form-control,.sr-public .input-group{max-width:none}
  .sr-public .test-form select.custom-select,.sr-public #parent_id,.sr-public #institution{min-width:0;width:100%;max-width:none}
  .sr-public #grade,.sr-public #grade_class{width:calc(50% - 5px)}
  .sr-public #pt02_h,.sr-public #pt02_m{width:calc(50% - 5px)}
  .sr-public .form-inline .text-info.small.ml-2{margin-left:0!important;width:100%}
  .sr-public .button-area .btn{min-width:0}
  .sr-public .button-area .btn+.btn{margin-left:8px}
  .sr-public .btn-lg{width:100%}
  .sr-public .btn{white-space:normal}
  .sr-public .nutricare>.container{margin-bottom:40px}
  .sr-public #footer{padding:26px 0 24px!important;margin-top:32px}
}

/* ---------- 2026-09-23 저녁 피드백 (v13) ---------- */
/* 홈 이용절차: 단계 칸의 인라인 padding(50px/10px)이 제각각이라 줄간격이 깨짐. 데스크톱 지그재그용 빈 칸 2개도 숨겨 1·2단계를 한 줄에 */
.sr-home #main_usage .row>.col-12:first-child{margin-bottom:10px}
.sr-home #main_usage .col-12.col-lg-6{padding:10px 15px!important}
.sr-home #main_usage .col-lg-6.d-none.d-lg-block{display:none!important}
@media (max-width:767px){.sr-home #footer{padding-bottom:88px!important}}

/* 검사 등록(DST·DBT·DIT): 모바일에서 이미 쓰는 단계별 흐름(d-none/d-sm-block 토글, dst.js)을 576 이상에도 적용 — 한 번에 한 단계, 진행바, 이전·다음 */
@media (min-width:576px){
  .sr-public .test-form .page.d-none.d-sm-block{display:none!important}
  .sr-public .test-form .d-block.d-sm-none{display:block!important}
  .sr-public .test-form .button-area.d-none.d-sm-block{display:none!important}
  .sr-public .test-form button[type=submit].d-none.d-sm-inline{display:none!important}
}
.sr-public .test-form .button-area.agree_first,.sr-public .test-form .button-area.agree-first{text-align:center}
/* 한 열 폭 680px, 라벨은 입력칸 위로 */
.sr-public .nutricare[style*="dst_back"]>h1,.sr-public .nutricare[style*="dbt_back"]>h1,.sr-public .nutricare[style*="dst_back"]>.container,.sr-public .nutricare[style*="dbt_back"]>.container,.sr-public #app>.container.test-form{max-width:680px}
.sr-public .test-form .page .form-group.row>.col-sm-2,.sr-public .test-form .page .form-group.row>.col-sm-3,.sr-public .test-form .page .form-group.row>.col-sm-10,.sr-public .test-form .page .form-group.row>.col-sm-9{flex:0 0 100%;max-width:100%}
.sr-public .test-form .page .form-group.row>.offset-sm-2,.sr-public .test-form .page .form-group.row>.offset-sm-3{margin-left:0}
.sr-public .test-form .page .col-form-label{padding-top:0;padding-bottom:6px}
.sr-public .test-form .progress{height:26px;margin-bottom:16px}
.sr-public .test-form .progress-bar{min-width:92px;font-size:12px;padding:0 12px;text-align:left;font-family:Nunito,Pretendard,sans-serif;letter-spacing:.02em}
