:root{
  --bg:#faf7f2; --ink:#1c1917; --muted:#78716c; --line:#e7e0d5;
  --accent:#b45309; --accent-dark:#92400e; --accent-soft:#fef3e7;
  --green:#15803d; --red:#b91c1c; --card:#ffffff;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
main{max-width:640px;margin:0 auto;padding:56px 24px 96px}
h1{font-family:Georgia,"Times New Roman",serif;font-weight:600;font-size:2rem;margin:0 0 8px;letter-spacing:-.01em}
.sub{color:var(--muted);margin:0 0 32px}
label{display:block;font-size:.85rem;font-weight:600;margin:20px 0 8px}
label .opt{font-weight:400;color:var(--muted)}
input[type=text],input[type=email],input[type=tel],textarea,select{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:10px;font-size:1rem;background:#fff;color:var(--ink)}
input:focus,textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}
textarea{min-height:110px;resize:vertical}
.hint{font-size:.82rem;color:var(--muted);margin-top:8px}
.row{display:flex;gap:16px}.row>div{flex:1}
.actions{display:flex;justify-content:space-between;align-items:center;margin-top:36px}
.btn{border:0;border-radius:10px;padding:14px 26px;font-size:1rem;font-weight:600;cursor:pointer;background:var(--accent);color:#fff;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.btn:hover{background:var(--accent-dark)}
.btn:disabled{opacity:.45;cursor:default}
.btn.ghost{background:none;color:var(--ink);font-weight:500}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 14px;cursor:pointer;text-align:left}
.card:hover{border-color:var(--accent)}
.card.sel{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}
.card .ic{font-size:1.4rem}
.card b{display:block;margin:8px 0 4px;font-size:.95rem}
.card small{color:var(--muted);font-size:.78rem;line-height:1.35;display:block}
.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:0 14px}
.search input{border:0;outline:none;box-shadow:none;padding:13px 0}
.swatches{display:flex;gap:10px;margin-top:4px}
.sw{width:38px;height:38px;border-radius:9px;cursor:pointer;border:2px solid transparent}
.sw.sel{border-color:var(--ink);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}
.typeopt{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin-top:12px;cursor:pointer}
.typeopt.sel{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}
.typeopt .tag{float:right;font-size:.72rem;letter-spacing:.08em;color:var(--accent);font-weight:700}
.typeopt .a{font-size:1.25rem}.typeopt .b{color:var(--muted);font-size:.9rem;margin-top:4px}
.addr-wrap{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.addr-wrap input{border:0;flex:1}
.addr-wrap input:focus{outline:none;box-shadow:none}
.addr-wrap.ok{border-color:var(--accent)}
.addr-wrap.bad{border-color:var(--red)}
.suffix{padding:0 16px;color:var(--muted);white-space:nowrap}
.status{font-size:.85rem;margin-top:8px;min-height:1.4em}
.status.ok{color:var(--green)}.status.bad{color:var(--red)}
.sugg{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.sugg button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:6px 14px;cursor:pointer;font-size:.85rem}
.sugg button:hover{border-color:var(--accent)}
.drop{border:1.5px dashed var(--line);border-radius:12px;padding:36px 20px;text-align:center;background:#fff;cursor:pointer}
.drop:hover{border-color:var(--accent)}
.step{display:none}.step.on{display:block;animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1}}
.topbar{max-width:640px;margin:0 auto;padding:20px 24px 0;font-size:.85rem;color:var(--muted)}
.topbar b{color:var(--accent)}
table{width:100%;border-collapse:collapse;margin-top:16px;background:#fff;border-radius:12px;overflow:hidden}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:.9rem}
th{color:var(--muted);font-weight:600;font-size:.8rem}
.success-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;margin-top:8px}
.success-box a{color:var(--accent);font-weight:600}
.err{background:#fef2f2;border:1px solid #fecaca;color:var(--red);border-radius:10px;padding:12px 16px;margin-top:16px;font-size:.9rem;display:none}
@media(max-width:560px){.grid{grid-template-columns:repeat(2,1fr)}.row{flex-direction:column}}
