/* 공개 화면과 운영 화면에서 공유하는 접근성, 간격, 긴 콘텐츠 규칙. */
.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
[hidden] { display:none !important; }
:is(a,button,input,textarea,select,summary,[tabindex]):focus-visible { outline:3px solid #344cdb; outline-offset:3px; }
:is(button,input,select,textarea) { font:inherit; }
.hd-search-area[hidden] { display:none !important; }
.hd.user-header .main_nav--mobile { max-height:calc(100dvh - 108px); overflow-y:auto; overscroll-behavior:contain; }
.hd.user-header .main_nav--mobile a { min-height:44px; display:flex; align-items:center; }
.hd.user-header .inner-1500 .hd-wrap .hd-right :is(.hd-search-btn,.hd-mobile-nav-btn,.hd-account-toggle) { min-width:44px; min-height:44px; }
.hd.user-header .inner-1500 .hd-wrap .hd-logo { flex-basis:auto; min-width:0; }
.hd.user-header .hd-account-menu a { min-height:44px; display:flex; align-items:center; }
.ui-skip { position:fixed; z-index:10000; left:12px; top:12px; padding:12px 18px; border-radius:8px; color:#fff; background:#263fae; transform:translateY(-150%); }
.ui-skip:focus { transform:none; }
.ui-inline-error { color:#a12627; margin:10px 0; font-size:14px; line-height:1.6; }
.login-area .user-form__btn-group > button { display:flex; align-items:center; justify-content:center; width:100%; min-height:54px; padding:12px; background:#344cdb; color:#fff; border-radius:8px; font-size:16px; font-weight:700; }
.login-area .user-form__btn-group > button:disabled { opacity:.7; cursor:wait; }
.pagenation { flex-wrap:wrap; gap:6px; }
.pagenation :is(.previous_group,.next_group,.num_board_group) { display:flex; flex-wrap:wrap; gap:4px; }
.pagenation button { min-width:44px; min-height:44px; }
.table-detail-link { display:inline-flex; align-items:center; min-height:44px; color:#2d45c2; text-decoration:underline; text-underline-offset:3px; }
.error-right { min-width:0; max-width:100%; }
.error__img { max-width:100%; height:auto; }
.error .error-right .error__img h1 { width:auto; min-width:0; font-size:clamp(54px,13vw,130px); letter-spacing:.06em; margin-bottom:24px; }
.error .error-right .error__img img { max-width:16%; height:auto; }
.error .btn-area { flex-wrap:wrap; gap:8px; }
.error .btn-area a { margin:0; }
.payment-feedback { width:calc(100% - 32px); max-width:600px; margin:6vh auto; padding:24px; border:1px solid #dce4f1; border-radius:20px; color:#17203a; }
.payment-feedback-brand { display:inline-flex; min-height:44px; align-items:center; }
.payment-feedback-brand img { max-width:110px; }
.payment-feedback-symbol { display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; color:#a12627; background:#fff0ec; font-size:30px; font-weight:700; margin:24px 0 16px; }
.payment-feedback h1 { font-size:26px; line-height:1.4; }
.payment-feedback p { font-size:15px; line-height:1.8; margin:16px 0; overflow-wrap:anywhere; white-space:pre-line; }
.payment-feedback a { min-height:44px; display:inline-flex; align-items:center; color:#2d45c2; }
.payment-feedback-actions { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 12px; }
.payment-feedback-actions a { padding:10px 16px; border-radius:8px; background:#eef2ff; }
.payment-feedback-actions a:first-child { background:#344cdb; color:#fff; }
.component-select__box { min-width:0; max-width:100%; }
.component-select__box select { max-width:100%; min-width:0; }
.content-user-body .inquiry-write-board .form-table--full .form_area--line dd { min-width:0; }
.admin-table-action { display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; flex-direction:column; gap:2px; color:#2d45c2; border-radius:6px; padding:4px 8px; }
.admin-table-action:hover { background:#eef2ff; }
.inquiry-macro-actions { display:flex; flex-wrap:wrap; gap:8px; }
.inquiry-macro-actions .component-button { margin:0; min-height:44px; max-width:100%; height:auto; padding:10px; white-space:normal; }
.message-box { max-width:calc(100vw - 24px); max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; }
#message-container .message-box { padding-top:56px; }
#message-container .message-footer #btnCancel { top:8px; right:8px; width:44px; height:44px; min-width:44px; min-height:44px; transform:none; }
#message-container .message-title-desc { overflow-wrap:anywhere; }
html.admin-responsive body { min-width:0; background:#f5f7fb; color:#17233c; }
html.admin-responsive :is(.wrap,.content-body,.component-group,.component-group__left,.component-group__right,.subpage-info-left,.subpage-info-right,.table-area,.my-account-area,.my-account-box) { min-width:0; max-width:100%; box-sizing:border-box; }
html.admin-responsive .content-body { background:white; border:1px solid #dce4f1; border-radius:12px; padding:20px; }
html.admin-responsive .content-area > .inner { padding:24px; overflow:visible; }
html.admin-responsive .table-area { overflow-x:auto; overscroll-behavior-x:contain; }
html.admin-responsive .component-table { max-width:100%; overflow-x:auto; }
html.admin-responsive .component-group { flex-wrap:wrap; gap:12px; }
html.admin-responsive :is(.component-group__left,.component-group__right,.subpage-info,.subpage-info-right) { flex-wrap:wrap; gap:8px; }
html.admin-responsive :is(.component-input,.component-select,input[type=date],input[type=text],input[type=email],input[type=password]) { max-width:100%; min-height:44px; }
html.admin-responsive :is(.component-button,.component-button-small,.fill-button) { min-height:44px; }
html.admin-responsive .subpage-common .subpage-text-area { padding-top:156px; padding-bottom:24px; }
html.admin-responsive .subpage-common, .account-page .subpage-common { padding-top:0; }
html.admin-responsive .subpage-common .page-location, .account-page .subpage-common .page-location { margin:0 0 16px; }
.account-page .subpage-text-area { padding:156px 0 24px; }
html.admin-responsive .content-area { padding-bottom:40px; }
html.admin-responsive footer.footer { width:100%; min-width:0; }
html.admin-responsive .component-group .component-group__line { flex-wrap:wrap; min-width:0; max-width:100%; gap:8px; }
html.admin-responsive .component-group :is(.component-box,.component-search,.component-search form) { min-width:0; max-width:100%; }
html.admin-responsive .component-group .component-search { flex:1 1 220px; width:auto; }
html.admin-responsive .admin-dashboard-page .ops-dashboard { width:calc(100% - 48px); max-width:1520px; min-width:0; padding:30px 0 48px; }
html.admin-responsive .admin-dashboard-page #header .inner { width:calc(100% - var(--admin-layout-gutter)); max-width:1520px; }
html.admin-responsive #header .header-area__right .side { max-height:calc(100dvh - 120px); overflow-y:auto; }
html.admin-responsive #header .header-area__right .main_nav > ul > li > ul { z-index:150; }
.account-page > .content-area > .inner { width:calc(100% - 32px); max-width:1040px; }
.account-page > .content-area { padding:16px 0 40px; }
.account-page .my-account-area { width:100%; max-width:740px; margin:0 auto; }
.account-page .content-body { min-width:0; max-width:100%; padding:0; }
.account-page .content-body .my-account-area .my-account-box { width:100%; max-width:740px; padding:24px; }
.account-page .user-form__input-area input { min-height:44px; max-width:100%; }
@media(min-width:1201px) { html.admin-responsive #header .header-area__right .side { overflow:visible; } }
@media(max-width:900px) {
 html.admin-responsive .subpage-common > .subpage-text-area > .inner, .account-page .subpage-common > .subpage-text-area > .inner { width:calc(100% - 32px); }
 .account-page > .content-area { padding-top:0; }
 .account-page > .content-area > .inner { padding:0; }
 .account-page .content-body .my-account-area .my-account-box { padding:16px; }
 .account-page .content-body .my-account-body { padding:0; }
 .account-page .content-body .user-form__input-area > label { display:flex; flex-direction:column; align-items:stretch; height:auto; border:0; gap:6px; }
 .account-page .content-body .user-form__input-area > label > span { position:static; padding:0; width:auto; height:auto; min-height:24px; color:#344c8c; }
 .account-page .content-body .user-form__input-area > label > input { height:48px; min-width:0; width:100%; padding:10px 12px; border:1px solid #bac7dd; font-size:16px; }
 .account-page .content-body .tab-header > ul > li > a { padding:8px; height:auto; min-height:48px; font-size:13px; text-align:center; line-height:1.5; }
 html.admin-responsive .admin-dashboard-page .ops-dashboard { width:calc(100% - 24px); margin-top:94px; padding-top:20px; }
 .ops-hero { grid-template-columns:minmax(0,1fr); gap:16px; padding:12px 0 24px; }
 .ops-hero h2 { font-size:30px; line-height:1.3; }
 .ops-hero-copy { margin-top:12px; font-size:14px; line-height:1.7; }
 .ops-hero-control { padding:16px; }
 .ops-hero-control button { min-height:44px; }
 .ops-signal-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ops-signal-rail span { padding:10px 12px; font-size:12px; line-height:1.5; }
 .ops-signal-rail i { flex-shrink:0; }
 .ops-primary-grid { grid-template-columns:minmax(0,1fr); grid-template-rows:auto; gap:14px; }
 :is(.ops-service-grid,.ops-finance-grid,.ops-rank-grid,.ops-table-grid) { grid-template-columns:minmax(0,1fr); gap:14px; }
 .ops-identity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ops-identity-alert { grid-template-columns:minmax(0,1fr); }
 .ops-panel { padding:18px; }
 .ops-period-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ops-dashboard-error { left:12px; right:12px; bottom:12px; max-width:none; }
 html.admin-responsive #header > header { height:94px; }
 html.admin-responsive #header > header .header-area { height:70px; margin:12px 0; padding:0 8px; gap:6px; }
 html.admin-responsive #header .header-area__left { width:auto; margin:0; }
 html.admin-responsive #header .header-area__left .logo { margin:0; }
 html.admin-responsive #header .header-area__left .logo :is(a,img) { width:82px; }
 html.admin-responsive #header .header-area__right { gap:4px; }
 html.admin-responsive #header :is(.admin-nav-toggle,.login-info > a.login-info-area,.login-info > button.login-info-area) { min-width:44px; width:44px; min-height:44px; height:44px; }
 html.admin-responsive #header .login-info { gap:2px; }
 html.admin-responsive .subpage-common .subpage-text-area { padding-top:112px; padding-bottom:18px; }
 html.admin-responsive .subpage__title { font-size:25px; line-height:1.4; }
 html.admin-responsive .content-body { padding:12px; }
 html.admin-responsive .content-area > .inner { padding:14px; }
 html.admin-responsive .content-area { padding-top:0; }
 html.admin-responsive .component-group { margin-bottom:14px; }
 html.admin-responsive :is(.component-group__left,.component-group__right) { width:100%; }
 html.admin-responsive .component-search { width:100%; max-width:100%; }
 html.admin-responsive :is(.form-table,.form-table--full) { width:100%; min-width:0; }
 html.admin-responsive .form_area--line { flex-wrap:wrap; }
 html.admin-responsive .form_area--line :is(dt,dd) { width:100%; min-width:0; }
 html.admin-responsive .inquiry-write-board { width:100%; }
 .account-page .my-account-body { padding:18px 14px; }
 .account-page .my-account-header .tab-header a { min-height:44px; padding:12px; }
 .account-page .subpage-text-area { padding-top:118px; }
}
@media(max-width:480px) {
 .ops-identity-grid { grid-template-columns:minmax(0,1fr); }
 .ops-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ops-panel-head { flex-wrap:wrap; gap:10px; }
 .ops-identity .ops-panel-note { text-align:left; }
 html.admin-responsive .component-group .component--head { flex-wrap:wrap; gap:8px; }
 html.admin-responsive .component-group .component-box { height:auto; min-height:44px; padding:6px 10px; }
 .ops-tts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ops-tts-grid > div { padding:14px 10px; }
 html.admin-responsive .component-label__date { flex:1 1 120px; }
}
@media(max-width:640px) {
 .error { padding:28px 20px; height:auto; min-height:100dvh; gap:20px; flex-direction:column; }
 .error .error-left img { max-width:140px; max-height:160px; object-fit:contain; }
 .error .error-right .error__title { font-size:22px; margin-bottom:16px; line-height:1.5; }
 .error .error-right .error__desc { margin-bottom:24px; }
 .error .btn-area { width:100%; display:flex; }
 .error .btn-area > a { width:100%; min-height:44px; }
 .pagenation .previous_group > button:first-child, .pagenation .next_group > button:last-child { display:none; }
 .sub-area .sub-body { padding-top:20px; padding-bottom:36px; gap:16px; }
 .sub-visual-area { padding-bottom:12px; }
 .hd.user-header .inner-1500 .hd-wrap { gap:6px; padding-left:10px; padding-right:10px; }
 .hd.user-header .inner-1500 .hd-wrap .hd-right { gap:4px; }
 .hd.user-header .inner-1500 .hd-wrap .hd-logo a img { width:88px; }
 .component-search :is(input,button), .component-button, .component-button-small { min-height:44px; }
 .component-search button { min-width:44px; }
 .component-label__checkbox { min-height:44px; }
 .login-area .center_right { min-width:0; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .home-v2 *, .login-area * { animation:none !important; transition:none !important; } }
