/* ============================================================
   실벗(SB) 공통 스타일 · app.css  (재구성 2026-07-07)
   시니어 친화: 큰 글씨 · 큰 터치영역 · 고대비 · 둥근 카드
   ============================================================ */
:root{
  --primary:#F47B3A;
  --primary-dark:#D85F1F;
  --primary-soft:#FDEEE5;
  --border:#E6E6E6;
  --text-1:#222222;
  --text-2:#666666;
  --muted:#8A8A8A;
  --bg:#FFF7F0;
  --card-bg:#FFFFFF;
  --radius:20px;
  --shadow:0 8px 24px rgba(244,123,58,.14);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html,body{
  font-family:'Noto Sans KR',sans-serif;
  background:linear-gradient(160deg,#FFE9D6 0%,#FFF7F0 45%,#FFF1E4 100%);
  color:var(--text-1);
  min-height:100vh;
  font-size:18px;
  line-height:1.55;
  -webkit-text-size-adjust:100%;
}
a{color:var(--primary);text-decoration:none;}

/* ---- 레이아웃 ---- */
.sb-app{
  max-width:520px;
  margin:0 auto;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  padding:24px 20px 40px;
}
.auth-wrap{
  width:100%;
  max-width:440px;
  margin:auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* ---- 브랜드 헤더 ---- */
.brand{text-align:center;margin-bottom:28px;}
.brand .mark{
  width:72px;height:72px;margin:0 auto 14px;
  background:var(--primary);color:#fff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Jua',sans-serif;font-size:38px;
  box-shadow:0 6px 18px rgba(244,123,58,.35);
}
.brand h1{font-family:'Jua',sans-serif;font-size:34px;color:var(--primary-dark);margin-bottom:6px;}
.brand p{font-size:17px;color:var(--text-2);}

/* ---- 카드 ---- */
.card{
  background:var(--card-bg);
  border-radius:var(--radius);
  padding:28px 24px;
  box-shadow:var(--shadow);
  border:1px solid #FFE3CE;
}
.card-title{font-size:24px;font-weight:800;color:var(--text-1);text-align:center;margin-bottom:22px;}

/* ---- 입력 필드 ---- */
.field{margin-bottom:18px;}
.field label{display:block;font-size:16px;font-weight:700;color:var(--text-1);margin-bottom:8px;}
.input{
  width:100%;
  padding:16px 18px;
  font-size:19px;
  border:2px solid var(--border);
  border-radius:14px;
  background:#fff;
  color:var(--text-1);
  outline:none;
  font-family:inherit;
  transition:border-color .15s ease;
}
.input:focus{border-color:var(--primary);}
.input::placeholder{color:#BBB;}

/* ---- 버튼 ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px;
  padding:16px 20px;
  font-size:19px;font-weight:700;font-family:inherit;
  border:2px solid transparent;border-radius:14px;
  cursor:pointer;text-decoration:none;
  transition:transform .1s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;
  min-height:56px;
}
.btn:active{transform:translateY(1px);}
.btn:disabled{opacity:.6;cursor:not-allowed;}
.btn-block{display:flex;width:100%;}
.btn-lg{padding:18px 22px;font-size:21px;min-height:62px;}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 6px 16px rgba(244,123,58,.28);}
.btn-primary:hover{background:var(--primary-dark);}
.btn-secondary{background:var(--primary-soft);color:var(--primary-dark);border-color:#FBD7BF;}
.btn-secondary:hover{border-color:var(--primary);}
.btn-ghost{background:transparent;color:var(--text-2);border-color:var(--border);}
.btn-ghost:hover{border-color:var(--primary);color:var(--primary-dark);}

/* ---- 행/그리드 ---- */
.row{display:flex;gap:12px;}
.row .btn-block{flex:1;}

/* ---- 알림 박스 ---- */
.alert{padding:14px 16px;border-radius:14px;font-size:16px;line-height:1.5;margin-bottom:16px;}
.alert-info{background:#EFF6FF;color:#1E40AF;border:1px solid #BFDBFE;}
.alert-success{background:#ECFDF5;color:#065F46;border:1px solid #A7F3D0;}
.alert-warning{background:#FFFBEB;color:#92400E;border:1px solid #FDE68A;}
.alert-error{background:#FEF2F2;color:#991B1B;border:1px solid #FECACA;}

/* ---- 유틸리티 ---- */
.text-center{text-align:center;}
.text-muted{color:var(--muted);}
.mt-8{margin-top:8px;}
.mt-16{margin-top:16px;}
.mb-8{margin-bottom:8px;}
.mb-16{margin-bottom:16px;}

/* ── 리스트 항목(아이콘·정보·우측 액션) — 안내전화/연락처 등 ── */
.list-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border-radius:14px;margin-bottom:10px;border:1px solid #FFE3CE;box-shadow:0 4px 14px rgba(244,123,58,.10)}
.list-item .icon{flex:none;width:46px;height:46px;display:flex;align-items:center;justify-content:center;font-size:24px;background:#FDEEE5;border-radius:12px}
.list-item .info{flex:1;min-width:0}
.list-item .info .t{margin:0;font-size:17px;font-weight:800;color:#2D2D2D;line-height:1.35;word-break:keep-all}
.list-item .info .s{margin:3px 0 0;font-size:14px;color:#7A7A7A;line-height:1.45;word-break:keep-all}
.list-item .btn{flex:none;margin-left:auto;white-space:nowrap}
