/* Koji Receipt Coupon — frontend form */
.krc-wrap{max-width:640px;margin:32px auto;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","Helvetica Neue",sans-serif;color:#2a2520}
.krc-card{background:#fff;border:1px solid #e9e1d2;border-radius:14px;box-shadow:0 4px 18px rgba(60,40,10,.06);padding:24px}
.krc-header{text-align:center;margin-bottom:18px}
.krc-badge{display:inline-block;background:#b14040;color:#fff;font-weight:700;letter-spacing:.04em;border-radius:999px;padding:4px 14px;font-size:13px;margin-bottom:8px}
.krc-card h2{font-size:22px;line-height:1.3;margin:6px 0 6px}
.krc-card p{font-size:14px;line-height:1.6;margin:0;color:#5a4f3f}
.krc-steps{list-style:none;padding:0;margin:18px 0;display:grid;gap:8px}
.krc-steps li{display:flex;align-items:center;background:#faf6ed;border-radius:10px;padding:10px 14px;font-size:14px}
.krc-steps li span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#b48a3a;color:#fff;font-weight:700;margin-right:10px;font-size:13px}
.krc-form{display:grid;gap:14px;margin-top:8px}
.krc-field{display:block}
.krc-label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:#3a3327}
.krc-label em{color:#b14040;font-style:normal;margin-left:2px}
.krc-form input[type=email]{width:100%;padding:11px 12px;border:1px solid #d8cdb6;border-radius:8px;font-size:15px;background:#fff;box-sizing:border-box}
.krc-form input[type=email]:focus{outline:none;border-color:#b48a3a;box-shadow:0 0 0 3px rgba(180,138,58,.15)}
.krc-drop{position:relative;border:2px dashed #d8cdb6;border-radius:12px;padding:22px;text-align:center;cursor:pointer;background:#fffdf7;transition:.15s}
.krc-drop:hover{border-color:#b48a3a;background:#fff8e7}
.krc-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.krc-drop-hint{color:#7a6a4d}
.krc-drop-hint p{margin:6px 0 2px;font-weight:600;color:#3a3327}
.krc-drop-hint small{color:#9a8765}
.krc-drop.has-file .krc-drop-hint{display:none}
#krc-preview{max-width:100%;max-height:280px;border-radius:8px;margin-top:6px}
.krc-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#5a4f3f}
.krc-checkbox input{margin-top:3px}
.krc-checkbox a{color:#b48a3a}
.krc-submit{background:linear-gradient(180deg,#c75050 0%,#a83b3b 100%);color:#fff;border:none;border-radius:10px;padding:14px;font-size:16px;font-weight:700;cursor:pointer;transition:.15s;box-shadow:0 2px 8px rgba(168,59,59,.25)}
.krc-submit:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(168,59,59,.3)}
.krc-submit:disabled{background:#bbb;cursor:wait;transform:none;box-shadow:none}
.krc-status{margin-top:16px;padding:12px 14px;border-radius:8px;font-size:14px}
.krc-status.info{background:#fff8e7;color:#7a5a1a;border:1px solid #ecd793}
.krc-status.error{background:#fdecec;color:#a02a2a;border:1px solid #f0bdbd}
.krc-status.warn{background:#fff5e6;color:#9a5a1a;border:1px solid #f3d3a0}
.krc-result{margin-top:18px;padding:18px;background:linear-gradient(180deg,#fff8e7 0%,#fff 100%);border:1px solid #ecd793;border-radius:12px;text-align:center}
.krc-result h3{margin:0 0 10px;color:#7a5a1a;font-size:16px}
.krc-code{display:flex;align-items:center;justify-content:center;gap:8px;margin:6px 0 10px}
.krc-code code{font-size:22px;font-weight:700;letter-spacing:.05em;background:#fff;border:1px dashed #b48a3a;border-radius:8px;padding:10px 16px;color:#3a3327;font-family:"SFMono-Regular",Menlo,monospace}
#krc-copy{background:#b48a3a;color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}
#krc-copy.copied{background:#2f8f4a}
.krc-expires{font-size:13px;color:#5a4f3f;margin:4px 0}
.krc-note{font-size:12px;color:#7a6a4d;margin:8px 0 12px}
.krc-cta{display:inline-block;background:#3a3327;color:#fff;text-decoration:none;border-radius:8px;padding:10px 22px;font-weight:600;font-size:14px}
.krc-cta:hover{background:#5a4f3f;color:#fff}
@media (max-width:480px){
.krc-wrap{margin:16px 12px}
.krc-card{padding:18px}
.krc-card h2{font-size:18px}
.krc-code code{font-size:18px;padding:8px 12px}
}
