/* ===== RESET ===== */
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  background:var(--paper);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer; border:none;}
::selection{background:var(--amber); color:var(--ink);}
img,svg{display:block;}

/* ===== STAMP ===== */
.stamp{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-weight:600; font-size:12px;
  letter-spacing:.06em; text-transform:uppercase;
  border:2px solid currentColor; border-radius:999px;
  padding:6px 14px; transform:rotate(-3deg);
  white-space:nowrap;
}
.stamp.coral{color:var(--coral);}
.stamp.teal{color:var(--teal);}
.stamp.amber{color:#8a6600; background:rgba(242,183,5,.14); border-color:var(--amber);}
.stamp.ink{color:var(--ink-soft);}
.stamp.big{font-size:26px; padding:14px 26px; border-width:3px; transform:rotate(-4deg);}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 22px; border-radius:10px; font-weight:600; font-size:14.5px;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn:disabled{opacity:.6; cursor:not-allowed; transform:none;}
.btn-primary{background:var(--ink); color:var(--paper);}
.btn-primary:hover{box-shadow:0 8px 20px -6px rgba(22,35,63,.5);}
.btn-coral{background:var(--coral); color:#fff;}
.btn-coral:hover{box-shadow:0 8px 20px -6px rgba(228,87,46,.55);}
.btn-ghost{background:transparent; color:var(--ink); padding:12px 18px;}
.btn-outline{background:transparent; color:var(--ink); border:1.5px solid var(--ink);}
.btn-sm{padding:9px 16px; font-size:13.5px;}
.btn-block{width:100%; justify-content:center;}

/* ===== CARD ===== */
.card{background:var(--card); border:1px solid var(--border); border-radius:16px; padding:24px;}
.card h3{font-family:var(--font-display); font-size:18px; font-weight:600; margin-bottom:16px;}

/* ===== FORM FIELDS ===== */
label{display:block; font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft); margin-bottom:7px; font-family:var(--font-mono);}
.field{margin-bottom:18px;}
.field-hint{font-size:12px; color:var(--muted); margin-top:5px;}
.field-error{font-size:12.5px; color:var(--coral-deep); margin-top:5px; font-weight:500;}
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], textarea, select{
  width:100%; border:1px solid var(--border); border-radius:9px; padding:11px 13px;
  font-family:var(--font-body); font-size:14px; color:var(--ink); background:#fff;
}
textarea{resize:vertical; min-height:110px;}
input:focus, textarea:focus, select:focus{outline:2px solid var(--ink); outline-offset:1px;}
input.has-error, textarea.has-error{border-color:var(--coral);}
.checkbox-row{display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--ink-soft);}
.checkbox-row input{width:auto;}
.password-field{position:relative;}
.password-toggle{
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  background:none; border:none; color:var(--muted); padding:4px; display:flex;
}
.password-toggle:hover{color:var(--ink);}

/* ===== CHIPS / TAGS ===== */
.chip-row{display:flex; flex-wrap:wrap; gap:8px;}
.chip{padding:7px 13px; border-radius:999px; border:1px solid var(--border); font-size:13px; font-weight:500; color:var(--ink-soft); background:#fff; cursor:pointer;}
.chip.on{background:var(--ink); color:#fff; border-color:var(--ink);}
.tag{display:inline-block; font-family:var(--font-mono); font-size:11px; padding:4px 10px; border-radius:999px; background:var(--paper-deep); color:var(--ink-soft); font-weight:600;}

/* ===== ANIMATION ===== */
@keyframes pulse{0%,100%{opacity:.25; transform:scale(.85);} 50%{opacity:1; transform:scale(1);}}
@keyframes fadeInUp{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);}}
.animate-fade-in{animation:fadeInUp .5s ease forwards;}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar{width:8px; height:8px;}
::-webkit-scrollbar-track{background:var(--paper);}
::-webkit-scrollbar-thumb{background:var(--muted); border-radius:4px;}
