:root{
  --max-width:900px;
  --accent:#2b6cb0;
}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,'Hiragino Kaku Gothic ProN','Noto Sans JP','Yu Gothic',sans-serif;margin:0;padding:1rem;background:#f7fafc;color:#111}
.container{max-width:var(--max-width);margin:0 auto;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(2,6,23,.06)}
h1{margin-top:0}
.form{display:grid;gap:0.75rem}
label{display:block}
textarea,input[type=text],input[type=email],input[type=number],input[type=url]{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px}
fieldset{border:1px solid #eee;padding:.5rem;border-radius:6px}
.inline{display:flex;align-items:center;gap:.5rem}
.row{display:block}
.actions{display:flex;gap:.5rem;margin-top:.75rem}
button{background:var(--accent);color:#fff;border:0;padding:.5rem .75rem;border-radius:6px;cursor:pointer}
button[type=reset]{background:#e2e8f0;color:#111}
a{color:var(--accent)}

@media(min-width:700px){
  .inline input{width:auto}
}

input[disabled]{background:#f3f4f6;color:#6b7280}

textarea.invalid{border-color:#e53e3e;background:#fff5f5}

.send-status{border-top:1px solid #eee;padding-top:.5rem;margin-top:.5rem;max-height:220px;overflow:auto;font-size:.95rem}
.send-status > div{padding:.25rem 0;border-bottom:1px dashed #f1f5f9}
