:root{--red:#c62828;--red-d:#a31f1f;--green:#1b5e20;--cream:#fff8ee;--ink:#222;--mut:#777;--line:#e6dccb;--ok:#2e7d32}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:var(--ink);background:var(--cream);line-height:1.55;padding-bottom:96px}
.wrap{max-width:560px;margin:0 auto;padding:0 16px}
h1{font-size:26px;line-height:1.3;margin:0 0 8px}h2{font-size:20px;margin:0 0 12px}h3{font-size:16px;margin:18px 0 8px}
.hero{background:linear-gradient(160deg,#b71c1c,#7f1313);color:#fff;padding:36px 0 28px}
.hero p{margin:6px 0;opacity:.95}
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}
.tri div{background:#fff;color:var(--ink);border-radius:12px;padding:12px 6px;text-align:center;font-weight:700;font-size:14px}
.tri span{display:block;font-size:26px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin:14px 0}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:7px 4px;border-bottom:1px solid var(--line);text-align:left}td:last-child,th:last-child{text-align:right}
details{margin:10px 0}summary{cursor:pointer;font-weight:700}
.btn{display:block;width:100%;border:0;border-radius:12px;background:var(--red);color:#fff;font-size:17px;font-weight:700;padding:15px;cursor:pointer;text-align:center;text-decoration:none}
.btn:disabled{background:#bbb;cursor:not-allowed}.btn.sec{background:#fff;color:var(--red);border:2px solid var(--red)}
.btn.sm{display:inline-block;width:auto;font-size:14px;padding:8px 14px}
.grid{display:grid;gap:8px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.opt{background:#fff;border:2px solid var(--line);border-radius:12px;padding:12px 8px;text-align:center;font-size:15px;cursor:pointer;font-weight:600}
.opt.on{border-color:var(--red);background:#fdeaea;color:var(--red-d)}.opt:disabled,.opt.off{background:#eee;color:#aaa;cursor:not-allowed;border-color:#eee}
.opt small{display:block;font-weight:400;color:var(--mut);font-size:12px}
.badge{display:inline-block;background:var(--green);color:#fff;font-size:11px;border-radius:8px;padding:1px 6px;margin-left:4px}
label.f{display:block;font-weight:700;margin:12px 0 4px;font-size:14px}
input[type=text],input[type=tel],textarea{width:100%;font-size:16px;padding:12px;border:1px solid #ccc;border-radius:10px;font-family:inherit}
.chk{display:flex;gap:8px;align-items:flex-start;margin:10px 0;font-size:14px}.chk input{margin-top:4px;width:18px;height:18px}
.bar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:10px 16px;z-index:10}
.bar .in{max-width:560px;margin:0 auto;display:flex;align-items:center;gap:12px}.bar .tot{flex:1;font-size:13px;color:var(--mut)}.bar .tot b{display:block;font-size:20px;color:var(--red-d)}
.bar .btn{width:auto;min-width:130px}
.stepper{display:flex;align-items:center;justify-content:center;gap:20px;margin:10px 0}.stepper button{width:44px;height:44px;border-radius:50%;border:2px solid var(--red);background:#fff;font-size:22px;color:var(--red)}
.stepper span{font-size:28px;font-weight:800;min-width:36px;text-align:center}
.note{font-size:13px;color:var(--mut)}.warn{background:#fff3e0;border:1px solid #ffcc80;border-radius:10px;padding:10px;font-size:14px}
.toast{position:fixed;left:50%;top:16px;transform:translateX(-50%);background:#222;color:#fff;padding:12px 18px;border-radius:10px;z-index:99;max-width:90%;font-size:14px}
.hide{display:none!important}.back{background:none;border:0;color:var(--mut);font-size:14px;padding:8px 0;cursor:pointer}
.big{font-size:30px;font-weight:800;letter-spacing:1px;color:var(--red-d);text-align:center;margin:6px 0}
footer{margin-top:30px;padding:20px 16px;font-size:12px;color:var(--mut);background:#f1e8d8}footer p{margin:2px 0}
.sum dt{font-weight:700;margin-top:8px;font-size:13px;color:var(--mut)}.sum dd{margin:0}
.todo{background:#ffe0e0;color:#a00;padding:0 4px;border-radius:4px}
