*{box-sizing:border-box}body{margin:0;background:#f3f4f6;color:#111827;font-family:Arial,sans-serif}
header{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#1f2937;color:white}
header button{background:none;color:white;border:0;text-decoration:underline}.inline{display:inline}
main{max-width:1050px;margin:auto;padding:16px}.card{background:white;padding:18px;border-radius:12px;margin-bottom:16px;box-shadow:0 2px 8px #0001}
.narrow{max-width:430px;margin:40px auto}.row{display:flex;gap:10px;align-items:center;justify-content:space-between}
input,textarea{width:100%;padding:11px;border:1px solid #bbb;border-radius:8px;font-size:16px}
button,.btn{display:inline-block;padding:12px 16px;border:0;border-radius:8px;background:#1f2937;color:white;text-decoration:none;font-weight:bold}
.primary{background:#0369a1}.secondary{background:#64748b}.full{width:100%;text-align:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.visit{text-decoration:none;color:inherit}.visit img{width:100%;height:190px;object-fit:cover;border-radius:8px}.preview,.detail{width:100%;max-height:520px;object-fit:contain;border-radius:8px}.hidden{display:none}.error,.errorlist{color:#b91c1c}
@media(max-width:600px){main{padding:11px}.row{align-items:stretch}.grid{grid-template-columns:1fr}}
