/* ═══════════════════════════════════════════════════════════
   Candy Belt — 근무기록 앱 공용 스타일
   두꺼운 먹선 · 스티커 그림자 · 무지개 벨트
   ═══════════════════════════════════════════════════════════ */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");

:root{
  --ink:#1A1614;
  --ink-2:#4A423C;
  --ink-3:#7A6F66;

  --yellow:#FFDD2D;
  --yellow-2:#FFC800;
  --yellow-lt:#FFF3B0;
  --cream:#FFFBEF;

  --blue:#1560D4;
  --blue-lt:#DCEAFF;
  --red:#E8402A;
  --red-lt:#FFE2DE;
  --orange:#FF7A18;
  --orange-lt:#FFE7D2;
  --green:#3D8B1B;
  --green-lt:#E2F6D4;
  --sky:#2E9BE0;
  --purple:#9B7BE0;

  --bd:3px solid var(--ink);
  --bd2:2px solid var(--ink);
  --pop:4px 4px 0 var(--ink);
  --pop-sm:3px 3px 0 var(--ink);
  --pop-lg:6px 6px 0 var(--ink);
  --r:16px;

  --font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,
         "Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",system-ui,sans-serif;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{
  font-family:var(--font);
  background:var(--yellow);
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.55) 0 3px, transparent 4px),
    radial-gradient(circle at 78% 42%, rgba(255,255,255,.45) 0 4px, transparent 5px),
    radial-gradient(circle at 34% 76%, rgba(255,255,255,.4) 0 3px, transparent 4px),
    radial-gradient(circle at 90% 88%, rgba(255,255,255,.5) 0 3px, transparent 4px);
  background-size:240px 240px;
  color:var(--ink);
  font-size:16px;line-height:1.45;letter-spacing:-.015em;font-weight:500;
  -webkit-text-size-adjust:100%;
  padding-bottom:env(safe-area-inset-bottom);
}
button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
.hide{display:none !important}
.num{font-variant-numeric:tabular-nums}
.wrap{max-width:660px;margin:0 auto;padding:0 14px}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}

/* ── 무지개 벨트 ─────────────────────────────────────────── */
.belt{
  height:10px;border-top:var(--bd2);border-bottom:var(--bd2);
  background:linear-gradient(90deg,
    var(--red) 0 20%, var(--orange) 20% 40%, var(--yellow-2) 40% 60%,
    var(--green) 60% 80%, var(--sky) 80% 100%);
}
.belt.thin{height:7px}

/* ── 스티커 요소 ─────────────────────────────────────────── */
.sticker{
  background:var(--cream);border:var(--bd);border-radius:var(--r);
  box-shadow:var(--pop);
}
.tagpill{
  display:inline-block;border:var(--bd2);border-radius:999px;
  padding:2px 9px;font-size:.7rem;font-weight:800;background:#fff;
}

/* ── 버튼 ────────────────────────────────────────────────── */
.btn{
  display:block;width:100%;border:var(--bd);border-radius:13px;
  background:#fff;color:var(--ink);font-weight:900;font-size:1rem;
  padding:15px;box-shadow:var(--pop);transition:transform .08s, box-shadow .08s;
}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}
.btn.dark{background:var(--ink);color:var(--yellow)}
.btn.blue{background:var(--blue);color:#fff}
.btn.green{background:var(--green);color:#fff}
.btn.red{background:var(--red);color:#fff}
.btn.sm{padding:10px 14px;font-size:.86rem;border-radius:11px;box-shadow:var(--pop-sm);width:auto;display:inline-block}
.btn.plain{border:var(--bd2);box-shadow:none;background:transparent;font-weight:700;font-size:.85rem;padding:11px}
.btn[disabled]{opacity:.4;pointer-events:none;box-shadow:none;transform:none}

/* ── 입력 ────────────────────────────────────────────────── */
.field{
  width:100%;padding:14px;border:var(--bd);border-radius:12px;
  background:#fff;outline:none;font-weight:600;
}
.field:focus{box-shadow:var(--pop-sm)}
select.field{appearance:none;background-image:
  linear-gradient(45deg,transparent 50%,var(--ink) 50%),
  linear-gradient(135deg,var(--ink) 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%, calc(100% - 12px) 50%;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:34px}

/* ── 제목 ────────────────────────────────────────────────── */
.eyebrow{
  display:inline-block;background:var(--ink);color:var(--yellow);
  font-size:.7rem;font-weight:900;letter-spacing:.08em;
  padding:4px 10px;border-radius:6px;
}
.err{color:var(--red);font-weight:800;font-size:.84rem;min-height:1.15em;margin:9px 0 0}

/* ── 토스트 ──────────────────────────────────────────────── */
.toast{
  position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(24px);
  background:var(--ink);color:var(--yellow);padding:13px 20px;border-radius:12px;
  font-size:.9rem;font-weight:800;opacity:0;pointer-events:none;transition:.2s;
  z-index:80;border:var(--bd2);box-shadow:var(--pop);max-width:88vw;text-align:center;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
