/* 인증/회원/마이페이지 공용 스타일 */
:root{--auth-primary:#1f3da8;--auth-line:#e5e7eb;--auth-muted:#64748b;--auth-bg:#f4f7fb;--auth-text:#0f172a}

.auth-page{max-width:780px;padding:0 16px 80px;margin:0 auto}
.auth-steps{display:flex;list-style:none;padding:0;margin:0 0 22px;border:1px solid var(--auth-line);border-radius:14px;overflow:hidden;background:#fff}
.auth-steps li{flex:1;text-align:center;padding:14px 12px;font-weight:800;color:#94a3b8;border-right:1px solid var(--auth-line)}
.auth-steps li:last-child{border-right:0}
.auth-steps li.active{color:var(--auth-primary);background:#eef5ff}
.auth-steps li.done{color:#16a34a;background:#f1faf3}

.auth-card{background:#fff;border:1px solid var(--auth-line);border-radius:18px;padding:26px;box-shadow:0 18px 45px -28px rgba(15,23,42,.45);margin-bottom:18px}
.auth-card h3{margin:0 0 18px;font-size:20px;letter-spacing:-.02em}

.agree-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--auth-line)}
.agree-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px;border-bottom:1px solid var(--auth-line)}
.agree-list li.agree-all{background:#f8fafc}
.agree-list label{display:flex;align-items:center;gap:10px;cursor:pointer;flex:1}
.agree-list input[type="checkbox"]{accent-color:var(--auth-primary);width:18px;height:18px}
.agree-list .req{color:#e11d48;font-weight:800;font-size:13px;margin-left:4px}
.agree-list .opt{color:#64748b;font-weight:700;font-size:13px;margin-left:4px}
.agree-view{background:#fff;border:1px solid var(--auth-line);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:800;color:#475569;cursor:pointer}
.agree-view:hover{border-color:var(--auth-primary);color:var(--auth-primary)}

.auth-form{display:grid;gap:14px}
.auth-form .row{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:14px}
.auth-form .lbl{font-weight:800;color:#334155}
.auth-form .lbl em{color:#e11d48;font-style:normal}
.auth-form input,.auth-form select{width:100%;border:1px solid var(--auth-line);border-radius:12px;padding:12px 14px;font-size:14px;background:#fff;outline:0}
.auth-form input:focus,.auth-form select:focus{border-color:var(--auth-primary)}
.auth-form .form-hint{margin:0 0 0 174px;color:#e11d48;font-size:13px;line-height:1.5}
.auth-form .form-hint code{background:#fff1f2;padding:2px 6px;border-radius:6px;font-size:12px}
.birth-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}

.auth-actions{display:flex;justify-content:center;gap:10px;margin-top:18px}
.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-width:140px;padding:13px 22px;border-radius:12px;font-weight:900;font-size:15px;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:.18s}
.btn-primary{background:var(--auth-primary);color:#fff}
.btn-primary:hover{background:#1a347d}
.btn-ghost{background:#f1f5f9;color:#334155;border-color:var(--auth-line)}
.btn-ghost:hover{background:#e2e8f0}

.signup-done{text-align:center;padding:30px 0}
.signup-done .check-circle{width:78px;height:78px;border-radius:50%;background:#eaf8ef;color:#16a34a;font-size:38px;font-weight:900;display:grid;place-items:center;margin:0 auto 18px}
.signup-done h3{margin:0 0 6px;font-size:22px}
.signup-done p{margin:6px 0;color:var(--auth-muted)}
.grade-info{font-weight:800;color:var(--auth-primary)}

/* 로그인 */
.login-bg{background:linear-gradient(135deg,#1f3da8 0%,#10233d 100%);min-height:100vh;margin:0;display:grid;place-items:center;padding:24px}
.login-wrap{width:min(440px,100%)}
.login-card{background:#fff;border-radius:24px;padding:34px;box-shadow:0 30px 70px -28px rgba(0,0,0,.55);text-align:center}
.login-card .login-brand{display:block;margin-bottom:18px}
.login-card .login-brand img{width:200px;margin:0 auto;display:block}
.login-card h1{margin:0;font-size:26px;letter-spacing:-.02em}
.login-sub{margin:6px 0 22px;color:var(--auth-muted)}
.login-form{display:grid;gap:12px;text-align:left}
.login-form .row{display:grid;gap:6px;grid-template-columns:1fr}
.login-form .lbl{font-weight:800;color:#334155;font-size:13px}
.login-form input{padding:13px 14px}
.login-form .btn-primary{margin-top:8px}
.login-links{margin:14px 0 0;color:var(--auth-muted);font-size:14px}
.login-links a{color:var(--auth-muted);font-weight:700}
.login-links a:hover{color:var(--auth-primary)}
.login-links .dot{margin:0 8px;color:#cbd5e1}
.login-demo{margin-top:20px;padding-top:18px;border-top:1px dashed var(--auth-line)}
.login-demo p{margin:0 0 10px;color:var(--auth-muted);font-size:13px}
.login-demo .btn-ghost{min-width:140px;padding:9px 14px;font-size:13px;margin:4px}

/* 마이페이지 */
.mypage{padding:0 16px 80px;max-width:1180px;margin:0 auto}
.mypage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}
.mypage-card{background:#fff;border:1px solid var(--auth-line);border-radius:18px;padding:24px;box-shadow:0 18px 45px -28px rgba(15,23,42,.35)}
.mp-eyebrow{display:block;color:var(--auth-primary);font-size:12px;font-weight:900;letter-spacing:.16em;margin-bottom:6px}
.mypage-card h3{margin:2px 0 10px;font-size:20px;letter-spacing:-.02em}
.mypage-profile p{margin:0 0 14px;color:var(--auth-muted)}
.grade-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-weight:900;font-size:13px;border:1px solid #cbd5e1;background:#f1f5f9}
.benefits{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px}
.benefits li{padding:8px 12px;background:#f8fafc;border-radius:10px;font-weight:700;color:#334155}
.benefits li::before{content:"·";margin-right:8px;color:var(--auth-primary);font-weight:900}

.mypage-balance .mp-balance{margin:8px 0 0;font-size:32px;font-weight:900;color:#0f172a;letter-spacing:-.04em}
.mypage-balance .mp-balance b{font-weight:900}
.mypage-balance .mp-totalspent{color:var(--auth-muted);margin:6px 0 18px}
.mypage-balance .btn-primary{display:inline-flex;width:auto;min-width:140px}

.progress{height:10px;background:#f1f5f9;border-radius:999px;overflow:hidden;margin-top:14px}
.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--auth-primary),#3b82f6);border-radius:999px;width:0;transition:width .3s}
.mypage-grade-progress p{margin:8px 0 0;color:#334155;line-height:1.6;font-size:14px}

.mypage-card .card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.mypage-table{width:100%;border-collapse:collapse}
.mypage-table th{font-size:13px;color:var(--auth-muted);padding:12px 10px;border-bottom:1px solid var(--auth-line);background:#f8fafc;text-align:left}
.mypage-table td{padding:14px 10px;border-bottom:1px solid #f1f5f9;font-size:14px}
.mypage-table td.amount.plus{color:#16a34a;font-weight:900}
.mypage-table td.amount.minus{color:#e11d48;font-weight:900}
.mypage-table td.amount em{font-style:normal;color:#16a34a;font-size:12px;font-weight:800;margin-left:4px}
.mypage-table td.empty{padding:40px;text-align:center;color:#94a3b8;font-weight:700}
.tx-tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:900}
.tx-tag.charge{background:#eaf8ef;color:#16a34a}
.tx-tag.use{background:#fff1f2;color:#e11d48}
.tx-tag.adjust{background:#eef2ff;color:#1f3da8}
.tx-tag.pending{background:#fef3c7;color:#b45309}
.tx-tag.reject{background:#f1f5f9;color:#64748b}
.mypage-table td.amount.muted{color:#94a3b8;font-weight:700;text-decoration:line-through}
.mypage-table tr.tx-row-pending td{background:#fffdf5}
.mypage-table td a{color:#1f3da8;font-weight:700;text-decoration:none}
.mypage-table td a:hover{text-decoration:underline}

/* 충전 */
.charge-page{padding:0 16px 80px;max-width:1180px;margin:0 auto}
.charge-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}
.charge-card{background:#fff;border:1px solid var(--auth-line);border-radius:18px;padding:26px;box-shadow:0 18px 45px -28px rgba(15,23,42,.35)}
.charge-card h3{margin:4px 0 16px;font-size:20px;letter-spacing:-.02em}
.charge-presets{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.charge-presets button{width:100%;background:#f8fafc;border:1px solid var(--auth-line);border-radius:14px;padding:18px;font-weight:900;font-size:16px;cursor:pointer;text-align:left}
.charge-presets button em{font-style:normal;color:#16a34a;font-size:13px;font-weight:800;margin-left:6px}
.charge-presets button:hover{border-color:var(--auth-primary);color:var(--auth-primary)}
.charge-presets button.active{background:#eef5ff;border-color:var(--auth-primary);color:var(--auth-primary)}
.charge-custom{display:grid;gap:8px;margin-bottom:8px}
.charge-custom span{font-weight:800;color:#334155}
.charge-custom input{width:100%;border:1px solid var(--auth-line);border-radius:12px;padding:12px 14px;font-size:14px;outline:0}
.charge-custom input:focus{border-color:var(--auth-primary)}
.charge-bonus{margin:6px 0 18px;color:#16a34a;font-weight:800;font-size:14px}
.charge-method{margin:18px 0;padding:18px;background:#f8fafc;border-radius:14px;display:grid;gap:10px}
.charge-method label{font-weight:700}
.charge-method input{accent-color:var(--auth-primary);margin-right:8px}
.charge-note{margin:12px 0 0;color:var(--auth-muted);font-size:13px}
.charge-summary .mp-balance{font-size:32px;font-weight:900;letter-spacing:-.04em;margin:8px 0 6px}
.charge-summary .mp-totalspent{color:var(--auth-muted);margin:0 0 4px}
.charge-summary .grade-info{margin:6px 0 18px}
.charge-summary .btn-ghost{min-width:auto}

.modern-exams{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.exam-card-v2{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 280px;gap:18px;padding:22px;border:1px solid #e2e8f0;border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f8fbff 100%);box-shadow:0 20px 50px -34px rgba(15,23,42,.55)}
.exam-glow{position:absolute;inset:auto -70px -110px auto;width:220px;height:220px;border-radius:50%;background:rgba(31,61,168,.08);filter:blur(6px);pointer-events:none}
.exam-card-main,.exam-card-side{position:relative;z-index:1}.exam-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.exam-chip,.exam-state-badge,.exam-done-mark,.live-sync{display:inline-flex;align-items:center;border-radius:999px;font-size:12px;font-weight:900}.exam-chip{padding:6px 10px;background:#eef5ff;color:#1f3da8}.live-sync{margin-left:6px;padding:6px 10px;background:#ecfeff;color:#0891b2}.exam-state-badge{padding:7px 12px;background:#eaf8ef;color:#16a34a;white-space:nowrap}.exam-title-v2{margin:10px 0 0!important;font-size:19px!important;line-height:1.35}.exam-count-box{margin-top:18px;padding:16px;border-radius:18px;background:#0f172a;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.exam-count-label{display:block;font-size:12px;font-weight:800;color:#bfdbfe;margin-bottom:4px}.exam-count-box strong{font-size:32px;letter-spacing:.02em;font-variant-numeric:tabular-nums}.exam-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.exam-meta-grid span{padding:9px 11px;border-radius:12px;background:#f8fafc;color:#64748b;font-size:13px;font-weight:800}.exam-meta-grid b{color:#0f172a}.exam-meta-grid .policy.ok{background:#ecfdf5;color:#16a34a}.exam-meta-grid .policy.closed{background:#f1f5f9;color:#94a3b8}.exam-card-side{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px}.exam-start-btn{width:100%;border:0;border-radius:16px;padding:16px 18px;background:#cbd5e1;color:#64748b;font-size:16px;font-weight:950;cursor:not-allowed;transition:.2s}.exam-entry-note{margin:0;color:#64748b;font-size:13px;line-height:1.45;text-align:center}.secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.secondary-actions .btn-ghost,.secondary-actions .btn-danger{min-width:0;padding:10px 12px;border-radius:12px;font-size:13px}.btn-danger{display:inline-flex;align-items:center;justify-content:center;border:1px solid #fecdd3;background:#fff1f2;color:#e11d48;font-weight:900;cursor:pointer}.btn-danger:hover{background:#ffe4e6}.state-waiting .exam-state-badge{background:#eef2ff;color:#1f3da8}.state-soon{border-color:#fde68a;background:linear-gradient(135deg,#fff 0%,#fffbeb 100%)}.state-soon .exam-state-badge{background:#fef3c7;color:#b45309}.state-soon .exam-start-btn{background:#f59e0b;color:#fff;cursor:not-allowed}.state-minute{border-color:#fdba74;background:linear-gradient(135deg,#fff7ed 0%,#fff 100%)}.state-minute .exam-state-badge{background:#ffedd5;color:#ea580c}.state-minute .exam-start-btn{background:#fb923c;color:#fff;box-shadow:0 0 0 0 rgba(251,146,60,.45);animation:examPulse 1s infinite}.state-open{border-color:#86efac;background:linear-gradient(135deg,#f0fdf4 0%,#fff 100%)}.state-open .exam-start-btn{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;cursor:pointer;box-shadow:0 16px 30px -18px rgba(22,163,74,.8)}.state-open .exam-start-btn:hover{transform:translateY(-1px);filter:saturate(1.08)}.state-closed,.state-cancelled,.state-completed{background:#f8fafc}.state-closed .exam-state-badge,.state-cancelled .exam-state-badge{background:#e2e8f0;color:#64748b}.exam-done-mark{justify-content:center;padding:8px 12px;background:#e2e8f0;color:#475569}.state-completed .exam-count-box{background:#334155}@keyframes examPulse{0%{box-shadow:0 0 0 0 rgba(251,146,60,.48)}70%{box-shadow:0 0 0 10px rgba(251,146,60,0)}100%{box-shadow:0 0 0 0 rgba(251,146,60,0)}}

@media (max-width:980px){
  .mypage-grid{grid-template-columns:1fr}
  .charge-grid{grid-template-columns:1fr}
  .auth-form .row{grid-template-columns:1fr;gap:8px}
  .auth-form .form-hint{margin-left:0}
  .exam-card-v2{grid-template-columns:1fr;padding:18px;border-radius:20px}
  .exam-card-top{display:block}.exam-state-badge{margin-top:10px}.exam-count-box strong{font-size:28px}.exam-meta-grid{grid-template-columns:1fr}.exam-card-side{padding-top:2px}.exam-start-btn{padding:17px 18px;font-size:17px}.secondary-actions{grid-template-columns:1fr 1fr}
}


/* 1:1 문의 페이지 */
.inquiry-page{max-width:1180px;padding:0 16px 80px;margin:0 auto}
.inquiry-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.inquiry-tabs{display:flex;gap:6px;flex-wrap:wrap}
.inquiry-tabs button{background:#fff;border:1px solid #e2e8f0;color:#475569;border-radius:999px;padding:8px 16px;font-weight:800;font-size:14px;cursor:pointer}
.inquiry-tabs button.active{background:#1f3da8;border-color:#1f3da8;color:#fff}
.inquiry-table td.title a{color:#0f172a;font-weight:700}
.inquiry-table td.title a:hover{color:#1f3da8;text-decoration:underline}

.inq-status{display:inline-flex;align-items:center;justify-content:center;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:900}
.inq-status.status-open{background:#fff1f2;color:#e11d48}
.inq-status.status-progress{background:#fef3c7;color:#b45309}
.inq-status.status-answered{background:#eaf8ef;color:#16a34a}
.inq-status.status-closed{background:#f1f5f9;color:#64748b}

.inq-block{margin:0 0 24px}
.inq-block h4{margin:0 0 10px;font-size:14px;color:#1f3da8;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.inq-content,.inq-reply{padding:14px 16px;background:#f8fafc;border-radius:12px;line-height:1.7;color:#0f172a}
.inq-reply{background:#eef5ff;border:1px solid #dbeafe}
.reply-meta{margin:0 0 6px;color:#64748b;font-weight:700;font-size:13px}
.reply-meta b{color:#1f3da8}
.reply-text{color:#0f172a}

/* 문의 대화 스레드 */
.inq-thread{display:flex;flex-direction:column;gap:12px}
.inq-thread-empty{margin:0;padding:14px 16px;background:#f8fafc;border-radius:12px;color:#94a3b8;font-weight:700}
.inq-msg{padding:12px 16px;border-radius:12px;max-width:88%}
.inq-msg .inq-msg-meta{margin:0 0 6px;font-size:13px;font-weight:700;color:#64748b}
.inq-msg .inq-msg-text{color:#0f172a;line-height:1.7;white-space:normal}
.inq-msg.from-member{align-self:flex-start;background:#f1f5f9;border:1px solid #e2e8f0}
.inq-msg.from-admin{align-self:flex-end;background:#eef5ff;border:1px solid #dbeafe}
.inq-msg.from-admin .inq-msg-meta b{color:#1f3da8}
.inq-reply-form{display:flex;flex-direction:column;gap:10px}
.inq-reply-form textarea{width:100%;padding:12px 14px;border:1px solid var(--auth-line);border-radius:12px;font:inherit;resize:vertical}
.inq-reply-actions{display:flex;justify-content:flex-end}

/* 비밀번호 찾기 모달 */
.auth-modal[hidden]{display:none !important}
.auth-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}
.auth-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(4px)}
.auth-modal-panel{position:relative;width:min(440px,100%);background:#fff;border-radius:24px;box-shadow:0 30px 70px -28px rgba(0,0,0,.55);padding:28px;z-index:1}
.auth-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.auth-modal-head h2{margin:0;font-size:22px}
.auth-modal-close{width:36px;height:36px;border-radius:50%;background:#f1f5f9;border:none;font-size:22px;cursor:pointer}
.auth-modal-desc{color:#64748b;margin:8px 0 18px;font-size:14px;line-height:1.55}
.auth-modal-result{margin-top:16px;padding:16px;background:#eef5ff;border-radius:14px;color:#1e40af}
.auth-modal-result p{margin:0 0 10px;font-size:14px}
.auth-modal-temp{display:flex;align-items:center;gap:10px;background:#fff;border:1px dashed #93c5fd;border-radius:12px;padding:10px 12px}
.auth-modal-temp code{font-size:18px;font-weight:900;letter-spacing:.04em;color:#0f172a;flex:1;word-break:break-all}

/* 마이페이지 비밀번호 변경 폼 */
.pw-change-form{max-width:560px}


/* ===== FAQ 페이지 ===== */
.faq-page { padding: 32px 0 64px; }
.faq-search-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 20px 24px;
  box-shadow: 0 6px 24px rgba(15, 23, 42, 0.04);
  margin-bottom: 20px;
}
.faq-search { display: flex; gap: 8px; }
.faq-search input {
  flex: 1;
  height: 48px;
  border: 1px solid #cbd5e1;
  border-radius: 12px;
  padding: 0 16px;
  font-size: 16px;
  background: #f8fafc;
}
.faq-search input:focus { outline: none; border-color: #1f3da8; background: #fff; box-shadow: 0 0 0 3px rgba(31, 61, 168, 0.12); }
.faq-search button {
  height: 48px;
  padding: 0 24px;
  border: none;
  border-radius: 12px;
  background: #1f3da8;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  font-size: 15px;
}
.faq-search button:hover { background: #18338e; }
.faq-search-meta { margin: 10px 4px 0; font-size: 13px; color: #64748b; }

.faq-cat-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}
.faq-cat {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 38px;
  padding: 0 16px;
  border: 1px solid #cbd5e1;
  background: #fff;
  border-radius: 999px;
  font-size: 14px;
  color: #334155;
  cursor: pointer;
  transition: all 0.15s ease;
}
.faq-cat:hover { border-color: #1f3da8; color: #1f3da8; }
.faq-cat.active { background: #1f3da8; color: #fff; border-color: #1f3da8; }
.faq-cat .ico { font-size: 15px; }

.faq-list { display: flex; flex-direction: column; gap: 10px; }
.faq-item {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
}
.faq-item summary {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: 100px 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 18px 22px;
  font-size: 15px;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-q-cat {
  font-size: 12px;
  color: #1f3da8;
  background: #eef2ff;
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 600;
  text-align: center;
}
.faq-q-text { color: #0f172a; font-weight: 500; }
.faq-q-text mark { background: #fef9c3; padding: 0 2px; border-radius: 3px; }
.faq-q-arrow {
  width: 26px; height: 26px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 18px; color: #94a3b8;
  transition: transform 0.2s ease;
}
.faq-item[open] .faq-q-arrow { transform: rotate(45deg); color: #1f3da8; }
.faq-item[open] summary { background: #f8fafc; border-bottom: 1px solid #e2e8f0; }

.faq-a { padding: 20px 22px 22px 138px; color: #334155; line-height: 1.7; }
.faq-a-text { margin: 0 0 12px; font-size: 15px; }
.faq-a-text mark { background: #fef9c3; padding: 0 2px; border-radius: 3px; }
.faq-a-tags { margin: 0 0 14px; display: flex; flex-wrap: wrap; gap: 6px; }
.faq-tag {
  font-size: 12px;
  color: #64748b;
  background: #f1f5f9;
  padding: 3px 9px;
  border-radius: 999px;
}

.faq-feedback {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 14px;
  border-top: 1px dashed #e2e8f0;
}
.faq-fb-label { font-size: 13px; color: #64748b; margin-right: 4px; }
.faq-fb {
  height: 32px;
  padding: 0 12px;
  border: 1px solid #cbd5e1;
  background: #fff;
  border-radius: 999px;
  font-size: 13px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.faq-fb b { font-weight: 600; }
.faq-fb:hover:not(:disabled) { border-color: #1f3da8; color: #1f3da8; }
.faq-fb.on.up { background: #ecfdf5; color: #059669; border-color: #6ee7b7; }
.faq-fb.on.down { background: #fef2f2; color: #dc2626; border-color: #fca5a5; }
.faq-fb:disabled { cursor: default; opacity: 0.85; }
.faq-fb-thanks { font-size: 12px; color: #059669; margin-left: 4px; }

.faq-empty {
  margin-top: 24px;
  text-align: center;
  background: #fff;
  border: 1px dashed #cbd5e1;
  border-radius: 16px;
  padding: 40px 20px;
}
.faq-empty h3 { margin: 0 0 8px; font-size: 18px; color: #0f172a; }
.faq-empty p { margin: 0 0 18px; color: #64748b; }
.faq-empty-actions { display: inline-flex; gap: 8px; }
.faq-empty .btn-ghost {
  height: 40px; padding: 0 18px; border-radius: 999px;
  border: 1px solid #cbd5e1; background: #fff; color: #334155; cursor: pointer;
}
.faq-empty .btn-primary {
  height: 40px; padding: 0 22px; border-radius: 999px;
  background: #1f3da8; color: #fff; text-decoration: none;
  display: inline-flex; align-items: center; font-weight: 600;
}

.faq-error { color: #dc2626; padding: 16px; background: #fef2f2; border-radius: 8px; }

@media (max-width: 720px) {
  .faq-item summary { grid-template-columns: 1fr auto; padding: 16px; }
  .faq-q-cat { display: none; }
  .faq-a { padding: 16px; }
  .faq-feedback { flex-wrap: wrap; }
}


/* 비밀번호 변경 모달 (auth-modal 패턴 재사용) */
.auth-modal-head h3 { margin:0; font-size:20px; }

/* 마이페이지 프로필 카드 액션 */
.profile-actions { margin-top: 16px; display:flex; gap:8px; }
.profile-actions .btn-ghost {
  height: 36px; padding: 0 16px; border-radius: 999px;
  background:#f1f5f9; color:#334155; border:1px solid #e2e8f0;
  font-size:13px; font-weight:600; cursor:pointer;
}
.profile-actions .btn-ghost:hover { background:#1f3da8; color:#fff; border-color:#1f3da8; }

/* 모달 안 폼 미세 조정 */
#pwChangeModal .auth-actions { margin-top:8px; display:flex; gap:8px; }
#pwChangeModal .auth-actions .btn-ghost {
  background:#f1f5f9; color:#334155; border:1px solid #e2e8f0;
  border-radius:10px; padding:10px 18px; cursor:pointer;
}
#pwChangeModal .form-hint { color:#64748b; font-size:13px; }

.login-back{position:absolute;top:24px;left:24px;text-decoration:none;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10;transition:all .2s}.login-back::before{content:"←";font-size:22px;color:#fff;font-weight:600;line-height:1;margin-top:-2px}.login-back:active{background:rgba(255,255,255,.28);transform:scale(.92)}
.login-back::before{content:'←';font-weight:600;line-height:1}
