:root {
  --bg-color:    #fff5f7;
  --block-bg:    #ffffff;
  --main:        #ff8fa3;
  --main-light:  #fff0f3;
  --main-border: #ffd0df;
  --main-strong: #c0404e;
  --text-color:  #37352f;
  --shadow:      rgba(255,112,150,0.18);
}
/* ── ODIN 플래너 · 정시 원서 DB · 공통 스타일 ── */
* { box-sizing: border-box; }
body {
  background: var(--bg-color);
  color: var(--text-color);
  font-family: 'Pretendard', 'Apple SD Gothic Neo', sans-serif;
  margin: 0; padding: 0;
}
.page-wrap { max-width: 680px; margin: 0 auto; padding: 24px 16px 100px; }
.back { display: inline-block; margin-bottom: 20px; font-size: 13px; font-weight: 700; color: #aaa; cursor: pointer; transition: color 0.2s; }
.back:hover { color: var(--main); }
h1 { font-size: 24px; font-weight: 900; margin: 0 0 6px; }
.page-sub { font-size: 12px; color: #aaa; font-weight: 600; margin-bottom: 28px; }
.sum-bar { display: flex; gap: 10px; margin-bottom: 28px; flex-wrap: wrap; }
.sum-chip { display: flex; align-items: center; gap: 6px; background: var(--block-bg); border: 1.5px solid #f0f0f0; border-radius: 50px; padding: 6px 14px; box-shadow: 0 2px 8px var(--shadow); }
.interview { display: flex; align-items: center; gap: 6px; background: var(--main); border: 1.5px solid var(--main-border); border-radius: 50px; padding: 6px 14px; box-shadow: 0 2px 8px var(--shadow); }
.sn { font-size: 18px; font-weight: 900; }
.sl { font-size: 11px; font-weight: 700; color: #aaa; }
.sn-all  { color: #333; }
.sn-pass { color: #2E9B68; }
.sn-wait { color: #D4AF37; }
.sn-fail { color: #bbb; }
.gun-grid { display: flex; flex-direction: column; gap: 16px; }
.gun-card { background: var(--block-bg); border: 2px solid #f0f0f0; border-radius: 24px; padding: 20px 22px; box-shadow: 0 4px 16px var(--shadow); transition: border-color 0.2s; }
.gun-card.status-pass { border-color: #2E9B68; background: #F0FFF8; }
.gun-card.status-wait { border-color: #D4AF37; background: #FFFDF0; }
.gun-card.status-fail { border-color: #eee; opacity: 0.5; }
.gun-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.gun-badge { font-size: 18px; font-weight: 900; color: var(--main); background: var(--main-light); border: 2px solid var(--main-border); border-radius: 50px; padding: 4px 18px; }
.gun-status-wrap { display: flex; gap: 6px; }
.s-btn { width: 32px; height: 32px; border-radius: 50%; border: 1.5px solid #eee; background: #fff; font-size: 14px; font-weight: 900; cursor: pointer; transition: all 0.15s; }
.s-btn:hover { border-color: var(--main); }
.s-btn.ap { background: #2E9B68; color: #fff; border-color: #2E9B68; }
.s-btn.aw { background: #D4AF37; color: #fff; border-color: #D4AF37; }
.s-btn.af { background: #ddd; color: #fff; border-color: #ddd; }
.gun-fields { display: flex; flex-direction: column; gap: 10px; }
.field-row { display: flex; gap: 10px; }
.field-label { font-size: 10px; font-weight: 800; color: #aaa; margin-bottom: -6px; padding-left: 4px; }
.gun-input { flex: 1; padding: 11px 14px; border: 1.5px solid #f0f0f0; border-radius: 14px; font-size: 14px; font-weight: 700; font-family: inherit; outline: none; background: #fafafa; transition: border-color 0.2s, background 0.2s; }
.gun-input:focus { border-color: var(--main); background: #fff; }
.gun-input.narrow { flex: 0 0 90px; text-align: center; }
.ratio-badge { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 50px; background: var(--main-light); color: var(--main-strong); font-size: 12px; font-weight: 900; margin-top: 2px; }
.wn-row { display: flex; align-items: center; gap: 8px; margin-top: 10px; }
.wn-label { font-size: 11px; font-weight: 800; color: #aaa; }
.wn-input { width: 80px; padding: 7px 10px; border: 1.5px solid #f0f0f0; border-radius: 10px; font-size: 14px; font-weight: 900; text-align: center; font-family: inherit; outline: none; background: #fafafa; }
.wn-input:focus { border-color: #D4AF37; background: #FFFDF0; }
.wn-hint { font-size: 10px; color: #ccc; font-weight: 600; }
.odin-toast { position: fixed; bottom: 90px; left: 50%; transform: translateX(-50%); background: #333; color: #fff; padding: 10px 20px; border-radius: 50px; font-size: 13px; font-weight: 700; opacity: 0; transition: opacity 0.3s; pointer-events: none; white-space: nowrap; z-index: 9999; }
