:root{--bg:#f6f5fb;--fg:#1d1b2b;--muted:#6b6880;--line:#dcd9ea;--accent:#6b5bd6;--warn:#b42318}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.6 system-ui,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif}
.wrap{max-width:760px;margin:0 auto;padding:16px}
.banner{background:#fff4e5;border:1px solid #f5c98a;border-radius:10px;padding:8px 12px;font-size:13px;margin-bottom:14px}
h1{font-size:22px;margin:6px 0 14px}
h2{font-size:17px;margin:18px 0 8px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px}
button,select,input,textarea{font:inherit}
button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 12px;cursor:pointer}
button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
button.danger{background:var(--warn);color:#fff;border-color:var(--warn)}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
table{border-collapse:collapse;width:100%}
td,th{border-bottom:1px solid var(--line);padding:6px 4px;text-align:left}
label{display:block;margin:10px 0 4px;font-weight:600}
input[type=text],input[type=tel],input[type=email],input[type=password],input[type=search],textarea{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}
.muted{color:var(--muted)}
.result{margin-top:12px;padding:10px;border-radius:8px;background:#eef9f0;border:1px solid #a6dcb2}
.error{margin-top:12px;padding:10px;border-radius:8px;background:#fdecec;border:1px solid #f2b2b2}
