/* ========================================================================
   ??μ삦???쒓렇??pages ???섏씠吏蹂??뱀닔 override
   - 寃??/ 由ъ뒪??/ ?곸꽭 / 罹섎┛??/ 吏?????섏씠吏?먯꽌 ?꾩슂??理쒖냼 override
   - 湲곕낯? components/layout?쇰줈 泥섎━, 遺議깅텇留??ш린 異붽?
   ======================================================================== */

/* ===== 由ъ뒪???섏씠吏 (auction/boss_list) ===== */
.s-list-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 20px; background: var(--white);
  border-bottom: 1px solid var(--gray-100);
}
.s-list-count { font-size: 13px; color: var(--gray-700); font-weight: 600; }
.s-list-count em { color: var(--violet); font-weight: 800; }
.s-list-sort {
  display: flex; align-items: center; gap: 4px;
  font-size: 13px; color: var(--gray-700); font-weight: 600;
}

/* ===== ?곸꽭 ?섏씠吏 (auction/boss_view) ===== */
.s-view-hero {
  background: var(--white); padding: 16px 20px;
  border-bottom: 1px solid var(--gray-100);
}
.s-view-badge {
  display: inline-block; padding: 4px 10px; border-radius: 20px;
  background: var(--violet-soft); color: var(--violet);
  font-size: 11px; font-weight: 700; margin-bottom: 8px;
}
.s-view-title { font-size: 16px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.4; }
.s-view-sub { font-size: 13px; color: var(--gray-500); font-weight: 500; margin-top: 4px; }

.s-view-tabs {
  display: flex; background: var(--white); border-bottom: 1px solid var(--gray-200);
  position: sticky; top: 56px; z-index: 50;
  overflow-x: auto; scrollbar-width: none;
}
.s-view-tabs::-webkit-scrollbar { display: none; }
.s-view-tab {
  flex-shrink: 0; padding: 14px 18px;
  font-size: 13px; font-weight: 700; color: var(--gray-500);
  position: relative;
}
.s-view-tab.active { color: var(--violet); }
.s-view-tab.active::after {
  content: ''; position: absolute; bottom: 0; left: 12px; right: 12px;
  height: 3px; background: var(--violet); border-radius: 2px;
}

/* ?뺣낫 ?뚯씠釉?(媛먯젙?됯??쑣룸벑湲걔룹엫李⑥씤 ?? */
.s-info-table {
  background: var(--white); margin: 12px 0; border-radius: 0;
  overflow: hidden; border-top: 1px solid var(--gray-200); border-bottom: 1px solid var(--gray-200);
}
.s-info-row {
  display: grid; grid-template-columns: 100px 1fr;
  border-bottom: 1px solid var(--gray-100);
}
.s-info-row:last-child { border-bottom: none; }
.s-info-key {
  padding: 12px 14px; background: var(--gray-50);
  font-size: 12px; font-weight: 600; color: var(--gray-700);
}
.s-info-val { padding: 12px 14px; font-size: 13px; color: var(--gray-900); font-weight: 500; }

/* ===== 罹섎┛??(boss_schedule.html table.cal 援ъ“) ===== */
.schedule, .col2 .schedule {
    background: var(--white);
    margin: 12px 0;
    border-radius: 0;
    padding: 20px;
    overflow: hidden;
}
.schedule .inner { position: relative; }
.schedule .cal {
    position: relative;
    margin-bottom: 12px;
}
.schedule .cal .year, .schedule .cal p.year {
    text-align: center;
    font-size: 16px !important;
    font-weight: 800 !important;
    padding: 8px 0 14px;
    color: var(--gray-900);
}
.schedule .cal .prev,
.schedule .cal .next {
    position: absolute;
    top: 4px;
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--gray-100);
    color: var(--gray-700) !important;
    display: flex; align-items: center; justify-content: center;
    font-size: 0;
    text-decoration: none;
}
.schedule .cal .prev::before { content: '‹'; font-size: 18px; font-weight: 800; }
.schedule .cal .next::before { content: '›'; font-size: 18px; font-weight: 800; }
.schedule .cal .prev { left: 0; }
.schedule .cal .next { right: 0; }

table.cal {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 0 !important;
}
table.cal thead th, table.cal th {
    background: transparent !important;
    color: var(--gray-500) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 8px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--gray-100) !important;
    text-align: center !important;
}
table.cal thead th:first-child, table.cal th:first-child { color: var(--coral) !important; }
table.cal thead th:last-child, table.cal th:last-child { color: var(--blue) !important; }
table.cal td {
    padding: 0 !important;
    border: 0 !important;
    text-align: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--gray-700) !important;
    background: transparent !important;
    height: 44px;
    vertical-align: middle !important;
    position: relative;
}
table.cal td a, table.cal td span {
    display: inline-flex;
    width: 34px; height: 34px;
    border-radius: 50%;
    align-items: center; justify-content: center;
    color: inherit !important;
    text-decoration: none;
    font-weight: 600;
}
table.cal td.today a, table.cal td.today span,
table.cal td.on a, table.cal td.on span {
    background: var(--violet) !important;
    color: var(--white) !important;
}
table.cal td.has-event::after,
table.cal td a.has-event::after {
    content: '';
    position: absolute;
    bottom: 4px; left: 50%;
    transform: translateX(-50%);
    width: 4px; height: 4px;
    border-radius: 50%;
    background: var(--violet);
}
table.cal td:first-child { color: var(--coral) !important; }
table.cal td:last-child { color: var(--blue) !important; }
table.cal td.muted, table.cal td.other_month { color: var(--gray-400) !important; }

/* 罹섎┛?????쇱젙 由ъ뒪??*/
.col2 {
    display: block !important;
}
.col2 .schedule_list {
    background: var(--white);
    margin: 0 0 24px;
    border-radius: 0;
    padding: 20px;
}

/* ?ъ씠???リ린/?댁쟾/?ㅼ쓬 踰꾪듉 (罹섎┛?? */
.cal_btn_close, .cal_btn_prev, .cal_btn_next {
    display: inline-block;
    padding: 8px 12px;
    background: var(--gray-100);
    color: var(--gray-700) !important;
    border-radius: var(--r-sm);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    margin: 0 4px;
}

/* ===== 罹섎┛??(sg- prefix, _demo/calendar.html?? ===== */
.s-cal { background: var(--white); margin: 0 0 16px; border-radius: 0; padding: 20px; }
.s-cal-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px;
}
.s-cal-month { font-size: 16px; font-weight: 800; }
.s-cal-nav { display: flex; gap: 8px; }
.s-cal-nav button {
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--gray-100); color: var(--gray-700);
  display: flex; align-items: center; justify-content: center;
}
.s-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.s-cal-dow {
  text-align: center; font-size: 11px; font-weight: 700;
  color: var(--gray-500); padding: 6px 0;
}
.s-cal-day {
  aspect-ratio: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  font-size: 13px; font-weight: 600; color: var(--gray-700);
  border-radius: var(--r-sm); position: relative;
}
.s-cal-day.today { background: var(--violet-soft); color: var(--violet); }
.s-cal-day.has-event::after {
  content: ''; position: absolute; bottom: 4px;
  width: 4px; height: 4px; border-radius: 50%; background: var(--violet);
}
.s-cal-day.muted { color: var(--gray-400); }

/* ===== 濡쒓렇??/ ?뚯썝媛????===== */
.s-form-page { padding: 24px 20px; background: var(--white); min-height: calc(100vh - 72px); }
.s-form-title { font-size: 22px; font-weight: 800; margin-bottom: 24px; letter-spacing: -0.03em; }
.s-form-field { margin-bottom: 16px; }
.s-form-label { font-size: 12px; color: var(--gray-500); font-weight: 600; margin-bottom: 6px; }
.s-form-input {
  width: 100%; height: 52px; padding: 0 16px;
  border: 1px solid var(--gray-200); border-radius: var(--r-sm);
  font-size: 15px;
}
.s-form-input:focus { outline: none; border-color: var(--violet); }
.s-form-submit {
  width: 100%; height: 56px; border-radius: var(--r-md);
  background: var(--violet); color: var(--white);
  font-size: 16px; font-weight: 800; margin-top: 8px;
}

/* ===== ?섏씠吏 鍮??곹깭 ===== */
.s-empty {
  padding: 80px 20px; text-align: center;
  color: var(--gray-500); font-size: 14px;
}
.s-empty .ico { font-size: 48px; margin-bottom: 12px; opacity: 0.5; }

/* ===========================================================
 * ?뚯썝媛??(members/join.html) ???쒓렇???붿옄?? * =========================================================== */
.s-join { padding: 0 0 40px; background: var(--white); }

.s-join-hero {
  padding: 28px 20px 24px;
  background: linear-gradient(135deg, #F4F0FF 0%, #EFEAFF 100%);
}
.s-join-hero__badge {
  display: inline-block;
  font-size: 12px; font-weight: 800; letter-spacing: 0.08em;
  color: var(--violet);
  background: rgba(124, 92, 255, 0.12);
  padding: 4px 9px; border-radius: 999px;
  margin-bottom: 12px;
}
.s-join-hero__title {
  margin: 0 0 8px;
  font-size: 26px; font-weight: 800;
  line-height: 1.3; letter-spacing: -0.04em;
  color: var(--gray-900);
}
.s-join-hero__sub {
  margin: 0;
  font-size: 13px; color: var(--gray-700);
  letter-spacing: -0.02em;
}

.s-join-form { padding: 20px; display: flex; flex-direction: column; gap: 14px; }

.s-join-notice {
  display: flex; gap: 10px;
  padding: 14px 14px;
  background: #F8F6FF; color: var(--violet-strong);
  border-radius: 12px;
  font-size: 12px; line-height: 1.5;
}
.s-join-notice ul { margin: 0; padding-left: 14px; list-style: disc; }
.s-join-notice li + li { margin-top: 2px; }

.s-join-agree {
  border: 1px solid var(--gray-200);
  border-radius: 12px; overflow: hidden;
  background: #fff;
}
.s-join-agree__head {
  padding: 12px 14px;
  background: var(--gray-50);
  border-bottom: 1px solid var(--gray-200);
}
.s-join-agree__head h3 {
  margin: 0; font-size: 13px; font-weight: 700; color: var(--gray-900);
}
.s-join-agree__body {
  max-height: 140px; overflow-y: auto;
  padding: 12px 14px;
  font-size: 12px; line-height: 1.6; color: var(--gray-700);
  background: #fff;
  -webkit-overflow-scrolling: touch;
}
.s-join-agree__body * { font-size: inherit !important; line-height: inherit !important; }

.s-join-check {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px;
  border-top: 1px solid var(--gray-100);
  cursor: pointer;
  font-size: 13px; font-weight: 600; color: var(--gray-700);
}
.s-join-check input { position: absolute; opacity: 0; pointer-events: none; }
.s-join-check__box {
  width: 20px; height: 20px; border-radius: 6px;
  border: 1.5px solid var(--gray-300);
  background: #fff; color: transparent;
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: all .15s;
}
.s-join-check input:checked + .s-join-check__box {
  background: var(--violet); border-color: var(--violet); color: #fff;
}
.s-join-check__text em { color: var(--violet); font-style: normal; font-weight: 800; }

.s-join-cta {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  height: 56px;
  background: var(--violet); color: #fff;
  border-radius: 14px;
  font-size: 16px; font-weight: 800; letter-spacing: -0.3px;
  text-decoration: none;
  margin-top: 4px;
}
.s-join-cta:active { background: var(--violet-strong); }

.s-join-sns { margin-top: 6px; }
.s-join-sns__divider {
  display: flex; align-items: center; gap: 10px;
  margin: 14px 0;
  font-size: 12px; font-weight: 600; color: var(--gray-500);
}
.s-join-sns__divider::before,
.s-join-sns__divider::after {
  content: ''; flex: 1; height: 1px; background: var(--gray-200);
}
.s-join-sns__list { display: flex; flex-direction: column; gap: 8px; }
.s-sns-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  height: 50px; border-radius: 12px;
  font-size: 14px; font-weight: 700;
  text-decoration: none;
}
.s-sns-btn--kakao { background: #FEE500; color: #181600; }
.s-sns-btn--naver { background: #03C75A; color: #fff; }
.s-sns-btn:active { opacity: 0.85; }
.s-join-sns__note {
  margin: 10px 0 0;
  font-size: 12px; color: var(--gray-500); text-align: center;
}

.s-join-bottom {
  margin-top: 18px; padding-top: 16px;
  border-top: 1px solid var(--gray-100);
  text-align: center;
  font-size: 13px; color: var(--gray-700);
}
.s-join-bottom a {
  margin-left: 4px;
  color: var(--violet); font-weight: 800;
  text-decoration: none;
}

/* ---- ?뚯썝媛??2?④퀎: ?뺣낫 ?낅젰 ??(members/join_step2.html) ---- */
.s-join-sec {
  border: 1px solid var(--gray-200);
  border-radius: 14px; overflow: hidden; background: #fff;
}
.s-join-sec + .s-join-sec { margin-top: 14px; }
.s-join-sec__head {
  padding: 12px 16px;
  background: var(--gray-50);
  border-bottom: 1px solid var(--gray-200);
}
.s-join-sec__head h3 {
  margin: 0; font-size: 13px; font-weight: 800; color: var(--gray-900);
  letter-spacing: -0.02em;
}
.s-join-sec__body { padding: 16px; display: flex; flex-direction: column; gap: 14px; }

.s-jf { display: flex; flex-direction: column; gap: 6px; }
.s-jf__label {
  font-size: 12px; font-weight: 700; color: var(--gray-700);
  letter-spacing: -0.02em;
}
.s-jf__label .req { color: var(--violet); margin-left: 2px; }
.s-jf__ctrl { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

.s-jf-input {
  flex: 1 1 0; min-width: 0; height: 46px;
  border: 1px solid var(--gray-300); border-radius: 10px;
  background: #fff; padding: 0 12px;
  font-size: 14px; color: var(--gray-900);
  box-sizing: border-box;
}
.s-jf-input:focus {
  outline: none; border-color: var(--violet);
  box-shadow: 0 0 0 3px rgba(124, 92, 255, 0.12);
}
.s-jf-input::placeholder { color: var(--gray-400); }
.s-jf-input[readonly] { background: var(--gray-50); color: var(--gray-600); }

.s-jf-btn {
  flex: 0 0 auto; height: 46px; padding: 0 14px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--violet); border-radius: 10px;
  background: #fff; color: var(--violet);
  font-size: 13px; font-weight: 700; white-space: nowrap;
  cursor: pointer;
}
.s-jf-btn:active { background: var(--violet); color: #fff; }

.s-jf-msg { font-size: 12px; color: var(--violet-strong); line-height: 1.5; }
.s-jf-note { font-size: 11px; color: #e5484d; line-height: 1.5; margin: 2px 0 0; }

.s-jf-phone { display: flex; align-items: center; gap: 6px; }
.s-jf-phone .s-jf-sel,
.s-jf-phone .s-jf-input { flex: 1 1 0; text-align: center; }
.s-jf-phone .s-jf-dash { color: var(--gray-400); font-weight: 700; }

.s-jf-sel {
  height: 46px; border: 1px solid var(--gray-300); border-radius: 10px;
  background: #fff; padding: 0 10px; font-size: 14px; color: var(--gray-900);
  box-sizing: border-box;
}

.s-jf-radio { display: flex; gap: 8px; }
.s-jf-radio label {
  flex: 1 1 0; display: flex; align-items: center; justify-content: center;
  height: 46px; border: 1px solid var(--gray-300); border-radius: 10px;
  font-size: 14px; font-weight: 600; color: var(--gray-700); cursor: pointer;
}
.s-jf-radio input { position: absolute; opacity: 0; pointer-events: none; }
.s-jf-radio input:checked + label,
.s-jf-radio label.on {
  border-color: var(--violet); background: #F4F0FF; color: var(--violet); font-weight: 800;
}

.s-jf-email { display: flex; align-items: center; gap: 6px; }
.s-jf-email .s-jf-at { color: var(--gray-400); font-weight: 700; }
.s-jf-email .s-jf-input { flex: 1 1 0; }
.s-jf-email .s-jf-sel { flex: 1 1 0; }
.s-jf-check {
  display: flex; align-items: center; gap: 8px; margin-top: 8px;
  font-size: 12px; color: var(--gray-700);
}

.s-join-way { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.s-join-way li { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; color: var(--gray-700); }
.s-join-way li .s-jf-input { flex: 1 1 140px; height: 40px; }

.s-join-step2-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.s-join-step2-actions .s-join-cta { margin-top: 0; }
.s-join-step2-cancel {
  display: flex; align-items: center; justify-content: center;
  height: 50px; border-radius: 12px;
  border: 1px solid var(--gray-300); background: #fff;
  color: var(--gray-700); font-size: 14px; font-weight: 700;
  text-decoration: none;
}

/* ===========================================================
 * 濡쒓렇??(members/login.html) ???쒓렇???붿옄?? * =========================================================== */
.s-login { padding: 0 0 calc(40px + var(--tabbar-h, 56px)); background: var(--white); }

.s-login-hero {
  padding: 28px 20px 24px;
  background: linear-gradient(135deg, #F4F0FF 0%, #EFEAFF 100%);
}
.s-login-hero__badge {
  display: inline-block;
  font-size: 12px; font-weight: 800; letter-spacing: 0.08em;
  color: var(--violet);
  background: rgba(124, 92, 255, 0.12);
  padding: 4px 9px; border-radius: 999px;
  margin-bottom: 12px;
}
.s-login-hero__title {
  margin: 0 0 8px;
  font-size: 26px; font-weight: 800;
  line-height: 1.3; letter-spacing: -0.04em;
  color: var(--gray-900);
}
.s-login-hero__sub {
  margin: 0;
  font-size: 13px; color: var(--gray-700);
  letter-spacing: -0.02em;
}

.s-login-form { padding: 20px; display: flex; flex-direction: column; gap: 12px; }

.s-login-field { display: flex; flex-direction: column; gap: 6px; }
.s-login-label {
  font-size: 12px; font-weight: 700; color: var(--gray-700);
  letter-spacing: -0.02em;
}
.s-login-input {
  width: 100%; height: 50px;
  padding: 0 14px;
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  background: #fff;
  font-size: 15px; color: var(--gray-900);
  -webkit-appearance: none; appearance: none;
  outline: none;
  transition: border-color .15s;
}
.s-login-input:focus { border-color: var(--violet); }
.s-login-input::placeholder { color: var(--gray-400); }
.s-login-err {
  font-size: 12px; color: #E14B4B; font-weight: 600;
  margin-top: 2px;
}
.s-login-caps {
  margin: 6px 0 0;
  padding: 8px 10px;
  background: #FFF4F4; color: #E14B4B;
  border-radius: 8px;
  font-size: 12px; font-weight: 600;
}

.s-login-saves {
  display: flex; gap: 16px;
  margin-top: 2px;
  font-size: 12px; color: var(--gray-700);
}
.s-login-saves label { display: inline-flex; align-items: center; gap: 5px; }

.s-login-cta {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  height: 56px; width: 100%;
  background: var(--violet); color: #fff;
  border: 0; border-radius: 14px;
  font-size: 16px; font-weight: 800; letter-spacing: -0.3px;
  cursor: pointer;
  margin-top: 6px;
}
.s-login-cta:active { background: var(--violet-strong); }

.s-login-links {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  margin-top: 4px;
  font-size: 13px; color: var(--gray-700); font-weight: 600;
}
.s-login-links a { color: var(--gray-900); text-decoration: none; }
.s-login-links a:hover { color: var(--violet); }
.s-login-links .dot { color: var(--gray-300); }

.s-login-sns { margin-top: 6px; }
.s-login-sns__divider {
  display: flex; align-items: center; gap: 10px;
  margin: 14px 0;
  font-size: 12px; font-weight: 600; color: var(--gray-500);
}
.s-login-sns__divider::before,
.s-login-sns__divider::after {
  content: ''; flex: 1; height: 1px; background: var(--gray-200);
}
.s-login-sns__list { display: flex; flex-direction: column; gap: 8px; }

/* ===========================================================
 * ?꾩씠??鍮꾨쾲 李얘린 (members/id_pw.html) ???쒓렇?? * =========================================================== */
.s-find { padding: 0 0 40px; background: var(--white); }
.s-find-hero {
  padding: 28px 20px 24px;
  background: linear-gradient(135deg, #F4F0FF 0%, #EFEAFF 100%);
}
.s-find-hero__badge {
  display: inline-block;
  font-size: 12px; font-weight: 800; letter-spacing: 0.08em;
  color: var(--violet);
  background: rgba(124, 92, 255, 0.12);
  padding: 4px 9px; border-radius: 999px;
  margin-bottom: 12px;
}
.s-find-hero__title {
  margin: 0 0 8px;
  font-size: 24px; font-weight: 800;
  line-height: 1.3; letter-spacing: -0.04em;
  color: var(--gray-900);
}
.s-find-hero__sub { margin: 0; font-size: 13px; color: var(--gray-700); }

.s-find-card {
  margin: 16px 20px 0;
  border: 1px solid var(--gray-200);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
.s-find-card__head {
  padding: 14px 16px;
  background: var(--gray-50);
  border-bottom: 1px solid var(--gray-200);
}
.s-find-card__head h3 {
  margin: 0; font-size: 14px; font-weight: 700; color: var(--gray-900);
}
.s-find-card__body {
  padding: 16px; display: flex; flex-direction: column; gap: 12px;
}
.s-find-help {
  margin: 4px 0 0; padding-left: 16px;
  font-size: 12px; line-height: 1.6; color: var(--gray-500);
}
.s-find-help a { color: var(--violet); font-weight: 700; text-decoration: none; }

/* ===========================================================
 * MyPage (my/boss_mypage.html) ???쒓렇?? * =========================================================== */
.s-mypage { padding: 0 0 40px; background: var(--gray-50); min-height: 60vh; }
.s-mypage-hero {
  display: flex; align-items: flex-start; justify-content: space-between;
  padding: 24px 20px 20px;
  background: linear-gradient(135deg, var(--violet) 0%, var(--violet-strong) 100%);
  color: #fff;
}
.s-mypage-hero__greet { font-size: 15px; line-height: 1.5; letter-spacing: -0.3px; }
.s-mypage-hero__greet strong { font-size: 22px; font-weight: 800; }
.s-mypage-logout {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 6px 10px; border-radius: 999px;
  background: rgba(255,255,255,0.2); color: #fff;
  font-size: 12px; font-weight: 700;
  text-decoration: none;
}
.s-mypage-stats {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
  background: var(--gray-200);
  margin: 0 0 12px;
  border-bottom: 1px solid var(--gray-200);
}
.s-mypage-stats .stat {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 16px 8px;
  background: #fff; text-decoration: none;
}
.s-mypage-stats .stat__num { font-size: 18px; font-weight: 800; color: var(--violet); }
.s-mypage-stats .stat__lbl { font-size: 12px; color: var(--gray-700); font-weight: 600; }

.s-mypage-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px;
  background: var(--gray-200);
  margin: 0 0 14px;
  border-top: 1px solid var(--gray-200);
  border-bottom: 1px solid var(--gray-200);
}
.s-mypage-grid__cell {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 18px 4px;
  background: #fff;
  color: var(--gray-900); text-decoration: none;
  font-size: 12px; font-weight: 600;
}
.s-mypage-grid__cell svg { color: var(--violet); }
.s-mypage-grid__cell:active { background: var(--gray-50); }

.s-mypage-mship {
  display: flex; align-items: center; gap: 10px;
  margin: 16px 20px 0;
  padding: 16px 18px;
  background: linear-gradient(135deg, #1A1530 0%, #0F0B22 100%);
  border-radius: 14px;
  text-decoration: none; color: #fff;
}
.s-mypage-mship__txt { flex: 1; }
.s-mypage-mship .t1 { font-size: 14px; font-weight: 800; margin-bottom: 4px; }
.s-mypage-mship .t1 .badge {
  display: inline-block; margin-left: 4px;
  font-size: 12px; font-weight: 800;
  background: #FFD770; color: #1A1530;
  padding: 2px 6px; border-radius: 4px;
  letter-spacing: 0.04em;
}
.s-mypage-mship .t2 { font-size: 12px; color: rgba(255,255,255,0.7); }
.s-mypage-mship__arr { font-size: 18px; color: #FFD770; }

/* ===========================================================
 * 留덉씠?μ뀡 怨듯넻 ?ㅻ줈 (紐⑤뱺 /my/* ?섏씠吏) ???ы뵆
 * =========================================================== */
.s-page-hero {
  padding: 16px 20px 12px;
  background: #fff;
  border-bottom: 1px solid var(--gray-100);
}
.s-page-hero__badge { display: none; }
.s-page-hero__title {
  margin: 0;
  font-size: 18px; font-weight: 800; letter-spacing: -0.03em;
  color: var(--gray-900);
}
.s-page-hero__sub { display: none; }

/* ===========================================================
 * 留덉씠?μ뀡 湲곗〈 PC???붿냼 ???쒓렇???ㅻ쾭?쇱씠?? * =========================================================== */
.s-page-body { padding: 14px 16px; background: var(--gray-50); min-height: 50vh; }
.s-page-body .sub { margin: 0; padding: 0; }

/* 寃??諛뺤뒪 / ?듭뀡 ?뚯씠釉?*/
.s-page-body .searchtable,
.s-page-body .bosstable {
  width: 100%;
  background: #fff !important;
  border: 0 !important;
  border-radius: 12px !important;
  overflow: hidden;
  margin-bottom: 12px;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.s-page-body .searchtable th,
.s-page-body .bosstable th {
  background: var(--gray-50) !important;
  font-size: 12px !important; font-weight: 700 !important;
  color: var(--gray-700) !important;
  padding: 10px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gray-100) !important;
  text-align: left;
}
.s-page-body .searchtable td,
.s-page-body .bosstable td {
  padding: 10px 12px !important;
  font-size: 13px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gray-100) !important;
  background: #fff !important;
}
.s-page-body .searchtable input[type="text"],
.s-page-body .searchtable input[type="number"],
.s-page-body .bosstable input[type="text"],
.s-page-body .bosstable input[type="number"],
.s-page-body select {
  height: 32px !important;
  padding: 0 8px !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  background: #fff !important;
}

/* 踰꾪듉瑜?*/
.s-page-body .btn_l_blue_r,
.s-page-body .btn_l_gray_r,
.s-page-body .btn_m_sky,
.s-page-body .btn_m_dark_r,
.s-page-body .btn_m_gray_r,
.s-page-body .btn_s_sky {
  display: inline-flex !important;
  align-items: center; justify-content: center;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  font-size: 12px !important; font-weight: 700 !important;
  text-decoration: none !important;
  border: 0 !important;
  background: var(--violet-soft) !important;
  color: var(--violet) !important;
  cursor: pointer;
  margin: 4px 4px 4px 0;
}
.s-page-body .btn_l_blue_r,
.s-page-body .btn_m_dark_r {
  background: var(--violet) !important;
  color: #fff !important;
}
.s-page-body .btn_l_gray_r {
  background: var(--gray-100) !important;
  color: var(--gray-700) !important;
}

/* ?섏씠吏?ㅼ씠??*/
.s-page-body .paging,
.s-page-body .page_nav {
  text-align: center; padding: 16px 0;
}

/* 鍮??곹깭 硫붿떆吏 */
.s-page-body .nodata {
  padding: 60px 20px; text-align: center;
  color: var(--gray-500); font-size: 14px;
  background: #fff; border-radius: 12px;
}

/* ===========================================================
 * 留덉씠?μ뀡 寃곌낵 由ъ뒪??(act_list) ???쒓렇??移대뱶
 * =========================================================== */
.s-page-body .act_list {
  width: 100% !important;
  display: block !important;
  margin: 12px 0 0 !important;
  padding: 0 0 8px !important;
}
.s-page-body .act_list li {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 0 10px !important;
  border: 0 !important;
  list-style: none !important;
}
.s-page-body .act_list .item {
  position: relative;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  background: #fff;
  border: 1px solid var(--gray-100);
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 1px 3px rgba(15, 16, 35, 0.04);
  overflow: hidden;
}
.s-page-body .act_list .itemview {
  position: relative;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.s-page-body .act_list .item .img {
  float: none !important;
  flex: 0 0 38% !important;
  width: 38% !important;
  max-width: 132px;
  margin: 0 !important;
  border-radius: 8px;
  overflow: hidden;
}
.s-page-body .act_list .item .img img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
}
.s-page-body .act_list .item .info {
  float: none !important;
  flex: 1 1 auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  min-width: 0;
}
.s-page-body .act_list .item .info p {
  width: 100% !important;
  margin: 0 0 4px !important;
  line-height: 1.45 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--gray-700);
}
.s-page-body .act_list .item .info p:nth-child(2) {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--gray-900);
  margin-bottom: 6px !important;
}
.s-page-body .act_list .item .info p.addr {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--gray-600);
}
.s-page-body .act_list .item .info p > div div {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--gray-900);
  margin-top: 2px;
}
.s-page-body .act_list .item .info .f_sky {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 999px;
  background: var(--violet-soft) !important;
  color: var(--violet) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
.s-page-body .act_list .item .info p > div .f_sky {
  padding: 0 0 0 4px;
  background: transparent !important;
}
.s-page-body .act_list .item .memo_in {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px !important;
  padding-top: 10px;
  border-top: 1px dashed var(--gray-100);
  text-align: left !important;
}
.s-page-body .act_list .item .memo_in input[type="text"] {
  flex: 1 1 100% !important;
  width: 100% !important;
  height: 34px !important;
  margin: 0 0 2px !important;
  padding: 0 10px !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  background: #fff !important;
}
.s-page-body .act_list .item .memo_in .btn_m_gray,
.s-page-body .act_list .item .memo_in .btn_m_blue {
  flex: 1 1 0 !important;
  width: auto !important;
  height: 34px !important;
  display: inline-flex !important;
  align-items: center; justify-content: center;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer;
}
.s-page-body .act_list .item .memo_in .btn_m_gray {
  background: var(--violet) !important;
  color: #fff !important;
}
.s-page-body .act_list .item .memo_in .btn_m_blue {
  background: var(--gray-100) !important;
  color: var(--gray-700) !important;
}

/* ============================================================
   留덉씠?μ뀡 ?덇굅???뚯씠釉????쒓렇??移대뱶 (CSS ?ㅻ쾭?쇱씠??
   ?곷떞?댁뿭 / ?뚯썝?뺣낫?섏젙 / 寃곗젣?댁뿭 / ?붽툑寃곗젣 / ?낆같?щ젰
   ============================================================ */

.s-page-body .sub,
.s-page-body .sub.my { padding: 0 !important; }

/* ----- 怨듯넻 ?뺣낫???뚯씠釉?(?뚯썝?뺣낫?섏젙 jungbotable / 寃곗젣?댁뿭 bosspaytable) ----- */
.s-page-body .jungbotable,
.s-page-body .bosspaytable {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff;
  border: 1px solid var(--gray-100) !important;
  border-radius: 12px;
  overflow: hidden;
  margin: 12px 0 0 !important;
  box-shadow: 0 1px 3px rgba(15, 16, 35, 0.04);
}
.s-page-body .jungbotable th,
.s-page-body .bosspaytable th {
  background: var(--gray-50) !important;
  color: var(--gray-700) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gray-100) !important;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}
.s-page-body .jungbotable td,
.s-page-body .bosspaytable td {
  padding: 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gray-100) !important;
  font-size: 13px !important;
  color: var(--gray-900) !important;
  text-align: left;
  vertical-align: middle;
  line-height: 1.5;
}
.s-page-body .jungbotable tr:last-child th,
.s-page-body .jungbotable tr:last-child td,
.s-page-body .bosspaytable tr:last-child th,
.s-page-body .bosspaytable tr:last-child td { border-bottom: 0 !important; }
.s-page-body .jungbotable td input[type="text"],
.s-page-body .jungbotable td input[type="password"],
.s-page-body .jungbotable td select {
  height: 36px !important;
  padding: 0 10px !important;
  border: 1px solid var(--gray-200) !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  background: #fff !important;
  max-width: 100%;
  box-sizing: border-box;
}

/* ----- ?곷떞?댁뿭 由ъ뒪???뚯씠釉?(consulttable) ----- */
.s-page-body .consulttable {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff;
  border: 1px solid var(--gray-100) !important;
  border-radius: 12px;
  overflow: hidden;
  margin: 12px 0 0 !important;
  box-shadow: 0 1px 3px rgba(15, 16, 35, 0.04);
}
.s-page-body .consulttable thead th {
  background: var(--violet-soft) !important;
  color: var(--violet) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 11px 8px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gray-100) !important;
  text-align: center;
}
.s-page-body .consulttable tbody td {
  padding: 12px 8px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gray-100) !important;
  font-size: 12px !important;
  color: var(--gray-700);
  text-align: center;
  vertical-align: middle;
  line-height: 1.4;
}
.s-page-body .consulttable tbody tr:last-child td { border-bottom: 0 !important; }
.s-page-body .consulttable tbody td:nth-child(2) { text-align: left; }
.s-page-body .consulttable tbody td a { color: var(--gray-900) !important; font-weight: 600; text-decoration: none; }

/* ----- ?뚯썝?뺣낫?섏젙 ?ㅻ뜑/踰꾪듉 ----- */
.s-page-body .gubon_Box .h_top h2 {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: var(--gray-900) !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
}
.s-page-body .btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px !important;
}
.s-page-body .btn_l_blue_r_jungbo,
.s-page-body .btn_l_gray_r_jungbo {
  flex: 1 1 0 !important;
  min-width: 110px;
  height: 48px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer;
  text-decoration: none;
}
.s-page-body .btn_l_blue_r_jungbo { background: var(--violet) !important; color: #fff !important; }
.s-page-body .btn_l_gray_r_jungbo { background: var(--gray-100) !important; color: var(--gray-700) !important; }
.s-page-body .btn_m_sky,
.s-page-body .btn_m_sky_jungbo,
.s-page-body .btn_m_sky_jungbo_in,
.s-page-body .btn_m_sky_jungbo_ok {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  height: 34px !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--violet-soft) !important;
  color: var(--violet) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer;
  text-decoration: none;
}

/* ----- 寃곗젣?댁뿭 踰꾪듉 (boss_btn_l_blue_r) ----- */
.s-page-body .boss_btn_l_blue_r {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--violet) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer;
  text-decoration: none;
  margin-top: 10px;
}

/* ----- ?붽툑???ㅻ뜑 (payment_r) ----- */
.s-page-body .pay_tab h2 {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--gray-900) !important;
  text-align: center;
  margin: 4px 0 12px !important;
}

/* ----- 요금제 플랜 카드 (payment_r_toss / 29000) -----
   site.css(.jwkFpg* 파랑/고정픽셀/흰글자) + account_toss.js 인라인 배경을
   .s-page-body 2-class 특이도로 덮어 시그널 흰카드化. 선택강조는 .on(보라). */
.s-page-body [class*="EnterpriseMain__CardSection"] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 8px 0 4px;
}
.s-page-body [class*="jwkFpg"] {
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  background: var(--white) !important;
  border: 1.5px solid var(--gray-200);
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-card) !important;
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s, background .15s;
  overflow: hidden;
}
.s-page-body [class*="jwkFpg"].on {
  background: var(--violet-soft) !important;
  border-color: var(--violet);
  box-shadow: var(--shadow-float) !important;
}
.s-page-body .cSMBgp {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 16px 18px;
}
.s-page-body .puNgr {
  padding: 0;
  color: var(--gray-900);
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 96px;
}
.s-page-body .eLDRfi {
  padding-left: 0 !important;
  font-size: 17px;
  font-weight: 800;
  color: var(--gray-900);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.s-page-body .hNeOjH {
  padding-left: 0 !important;
  font-size: 12px;
  font-weight: 600;
  color: var(--gray-500);
  line-height: 1.3;
}
.s-page-body .bvkbkq {
  flex: 1 1 auto;
  padding: 0;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--gray-500);
}
.s-page-body .bhWhlq {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto;
  color: var(--violet);
}
.s-page-body .bhWhlq p {
  font-size: 16px !important;
  font-weight: 800;
  color: var(--violet);
  margin: 0;
  white-space: nowrap;
}
.s-page-body [class*="jwkFpg"].on .eLDRfi { color: var(--violet-strong); }

/* ----- 결제 안내/주의 박스 ----- */
.s-page-body .explainpaybutton {
  width: 100% !important;
  height: auto !important;
  margin: 14px 0 !important;
  background: var(--violet-bg);
  border: 1px solid var(--violet-soft);
  border-radius: var(--r-md);
  padding: 14px 16px;
}
.s-page-body .explainpaybutton .agree_section { line-height: 1.7; color: var(--gray-700); }

/* ----- 섹션 소제목 (지역/기간 확인, 결제방법 선택) ----- */
.s-page-body .h_top h2 {
  font-size: 15px !important;
  font-weight: 800 !important;
  color: var(--gray-900) !important;
  margin: 18px 0 8px !important;
}

/* ----- 결제하기 버튼 ----- */
.s-page-body #payment-request-button,
.s-page-body .cardpaybutton {
  width: 100% !important;
  height: auto !important;
  margin: 14px 0 0 !important;
  background: var(--violet) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-float) !important;
  overflow: hidden;
}
.s-page-body #payment-request-button .btn_l_blue_r,
.s-page-body .cardpaybutton .btn_l_blue_r {
  background: var(--violet) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

/* ----- ?쇱씤 ?뚯씠釉?(?붽툑??寃곗젣 .tbl.line / ?щ젰 ?앹뾽 .tbl.ln) ----- */
.s-page-body table.tbl.ln,
.s-page-body table.tbl.line {
  width: 100% !important;
  background: #fff;
  border: 1px solid var(--gray-100) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 12px;
  overflow: hidden;
  margin: 10px 0 !important;
}
.s-page-body table.tbl.ln th,
.s-page-body table.tbl.line th {
  background: var(--gray-50) !important;
  color: var(--gray-700) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 11px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gray-100) !important;
  text-align: left;
}
.s-page-body table.tbl.ln td,
.s-page-body table.tbl.line td {
  padding: 11px 12px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gray-100) !important;
  font-size: 13px !important;
  color: var(--gray-900) !important;
  text-align: left;
}
.s-page-body table.tbl.ln tr:last-child th,
.s-page-body table.tbl.ln tr:last-child td,
.s-page-body table.tbl.line tr:last-child th,
.s-page-body table.tbl.line tr:last-child td { border-bottom: 0 !important; }

/* ============================================================
   ?낆같?щ젰 (calendar)
   ============================================================ */
.s-page-body table.tbl:not(.cal):not(.ln):not(.line) {
  width: 100% !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 0 0 12px !important;
}
.s-page-body table.tbl:not(.cal):not(.ln):not(.line) td { border: 0 !important; padding: 0 !important; }
.s-page-body table.tbl:not(.cal):not(.ln):not(.line) .flt_l { float: none !important; width: 100% !important; text-align: center; }
.s-page-body table.tbl:not(.cal):not(.ln):not(.line) h2 {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--gray-900) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 0 !important;
  padding: 6px 0 !important;
}
.s-page-body .btn_sky_prev img,
.s-page-body .btn_sky_next img { width: 9px; height: auto; opacity: .5; }

.s-page-body table.tbl.cal {
  width: 100% !important;
  background: #fff;
  border: 1px solid var(--gray-100) !important;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(15, 16, 35, 0.04);
  table-layout: fixed;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.s-page-body table.tbl.cal thead th {
  background: var(--gray-50) !important;
  color: var(--gray-600) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 8px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--gray-100) !important;
  text-align: center;
}
.s-page-body table.tbl.cal thead th.sun { color: #e0506b !important; }
.s-page-body table.tbl.cal thead th.sat { color: var(--violet) !important; }
.s-page-body table.tbl.cal tbody td {
  height: 62px !important;
  padding: 4px !important;
  border: 0 !important;
  border-top: 1px solid var(--gray-100) !important;
  border-left: 1px solid var(--gray-100) !important;
  vertical-align: top !important;
  text-align: left !important;
  position: relative;
}
.s-page-body table.tbl.cal tbody td:first-child { border-left: 0 !important; }
.s-page-body table.tbl.cal tbody td .day {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--gray-700) !important;
  margin: 0 !important;
  line-height: 1.2;
}
.s-page-body table.tbl.cal tbody td.sun .day { color: #e0506b !important; }
.s-page-body table.tbl.cal tbody td.sat .day { color: var(--violet) !important; }
.s-page-body table.tbl.cal tbody td.today { background: var(--violet-soft) !important; }
.s-page-body table.tbl.cal tbody td.today .day { color: var(--violet) !important; font-weight: 800 !important; }
.s-page-body table.tbl.cal .ico_today2 {
  display: inline-block;
  margin: 2px 0 0 !important;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--violet) !important;
  color: #fff !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  line-height: 14px;
}
.s-page-body table.tbl.cal .info {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
}
.s-page-body table.tbl.cal .info .cnt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--violet) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none;
}
.s-page-body table.tbl.cal .info .add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  background: var(--gray-100) !important;
  color: var(--gray-600) !important;
  font-size: 13px !important;
  font-weight: 700;
  text-decoration: none;
  line-height: 1;
}

/* ============================================================
   일정 팝업 (calendar .pop_cal_view / .pop_cal_add)
   - signal 페이지엔 site.css/common.css 미로드 → 오버레이·표시·표면 전부 신규
   ============================================================ */
#blind_all {
  display: none;
  position: fixed; inset: 0;
  background: rgba(15, 16, 35, .5);
  z-index: 10000;
}
#blind_all.on { display: block; }

.s-page-body .pop_cal_view,
.s-page-body .pop_cal_add {
  display: none;
  position: fixed;
  left: 50%; bottom: 0;
  transform: translateX(-50%);
  width: 100%;
  max-width: var(--container-max);
  max-height: 86vh;
  background: var(--white);
  border-radius: var(--r-lg) var(--r-lg) 0 0;
  box-shadow: var(--shadow-float);
  z-index: 11000;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.s-page-body .pop_cal_view.on,
.s-page-body .pop_cal_add.on { display: block; }
.s-page-body .pop_cal_view .inner,
.s-page-body .pop_cal_add .inner {
  position: relative;
  padding: 22px 20px calc(22px + env(safe-area-inset-bottom, 0px));
}
.s-page-body .pop_cal_view h2,
.s-page-body .pop_cal_add h2 {
  font-size: 17px; font-weight: 800; color: var(--gray-900);
  margin: 0 0 16px; letter-spacing: -0.02em;
}
.s-page-body .pop_cal_view a.btn_close,
.s-page-body .pop_cal_add a.btn_close {
  position: absolute; right: 16px; top: 18px;
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--gray-100); color: var(--gray-600);
  font-size: 0; text-decoration: none;
}
.s-page-body .pop_cal_view a.btn_close::before,
.s-page-body .pop_cal_add a.btn_close::before {
  content: '\2715'; font-size: 14px; font-weight: 700; line-height: 1;
}
/* 메모 리스트 */
.s-page-body .pop_cal_view ul.list {
  list-style: none; margin: 0; padding: 4px 0;
  border-top: 1px solid var(--gray-100);
  border-bottom: 1px solid var(--gray-100);
}
.s-page-body .pop_cal_view ul.list li {
  padding: 9px 2px; border-bottom: 1px solid var(--gray-50);
}
.s-page-body .pop_cal_view ul.list li:last-child { border-bottom: 0; }
.s-page-body .pop_cal_view ul.list li a.item {
  font-size: 14px; color: var(--gray-900); font-weight: 600;
  text-decoration: none; line-height: 1.5;
}
.s-page-body .pop_cal_view ul.list li .con { display: none; margin-top: 6px; }
.s-page-body .pop_cal_view ul.list li .con.on { display: block; }
.s-page-body .pop_cal_view ul.list li .con p {
  font-size: 13px; color: var(--gray-700); line-height: 1.6; margin: 0 0 8px;
}
.s-page-body .pop_cal_view ul.list li .con .btn { display: flex; gap: 6px; }
.s-page-body .pop_cal_view ul.list li .con .btn a {
  display: inline-flex; align-items: center; justify-content: center;
  height: 28px; padding: 0 12px; border-radius: var(--r-sm);
  font-size: 12px; font-weight: 700; color: #fff; text-decoration: none;
}
.s-page-body .pop_cal_view ul.list li .con .btn a.edit  { background: var(--violet); }
.s-page-body .pop_cal_view ul.list li .con .btn a.del   { background: var(--coral); }
.s-page-body .pop_cal_view ul.list li .con .btn a.close { background: var(--gray-400); }
/* 경매물건 카드(.view) */
.s-page-body .pop_cal_view a.view {
  display: block; margin-top: 12px; padding: 14px;
  border: 1px solid var(--gray-200); border-radius: var(--r-md);
  text-decoration: none; color: var(--gray-900);
  box-shadow: var(--shadow-card);
}
.s-page-body .pop_cal_view a.view strong { color: var(--gray-900); font-weight: 800; }
.s-page-body .pop_cal_view a.view .f_red { color: var(--coral); }
.s-page-body .pop_cal_view ul.info {
  list-style: none; margin: 10px 0 0; padding: 0;
  display: grid; grid-template-columns: 1fr 1fr; gap: 6px;
}
.s-page-body .pop_cal_view ul.info li {
  display: flex; align-items: center; gap: 6px; font-size: 12px;
}
.s-page-body .pop_cal_view ul.info li p { display: inline-block; margin: 0; }
.s-page-body .pop_cal_view ul.info li p.tt {
  flex: 0 0 48px; text-align: center;
  background: var(--gray-50); color: var(--gray-500);
  border-radius: 6px; padding: 2px 0; font-weight: 700;
}
.s-page-body .pop_cal_view ul.pt {
  list-style: none; margin: 12px 0 0; padding: 10px 0 0;
  border-top: 1px solid var(--gray-100); color: var(--gray-700); font-size: 13px;
}
