:root{
  --bg:#f7f3ee;
  --card:#fffdf9;
  --text:#282522;
  --muted:#7b746d;
  --line:#e9dfd4;
  --accent:#816b57;
  --accent2:#a58a72;
  --danger:#9c4e4e;
  --shadow:0 18px 50px rgba(51,42,35,.10);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
body{min-height:100vh}
.hero{min-height:42vh;display:grid;place-items:center;text-align:center;padding:56px 20px 28px;background:linear-gradient(180deg,#efe6dc 0%,var(--bg) 100%)}
.brand{font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;margin:.2em 0}
h1{font-size:clamp(2.2rem,8vw,4.8rem);line-height:1.02}
h2{font-size:clamp(1.7rem,5vw,2.5rem)}
p{line-height:1.6}
.lead{font-size:1.08rem;color:var(--muted);max-width:700px;margin:16px auto}
.wrap{width:min(960px,calc(100% - 28px));margin:0 auto 44px}
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow);margin:18px 0}
.btn{appearance:none;border:0;border-radius:14px;padding:14px 20px;background:var(--accent);color:white;font-weight:700;font-size:1rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.btn:hover{background:var(--accent2)}
.btn.secondary{background:white;color:var(--text);border:1px solid var(--line)}
.btn.danger{background:var(--danger)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
input,select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}
label{display:block;font-weight:700;margin:14px 0 7px}
small,.muted{color:var(--muted)}
.notice{padding:14px 16px;border-radius:12px;background:#f1e9df;border:1px solid var(--line);margin:14px 0}
.success{background:#edf4ed}
.error{background:#f8eaea}
.upload-box{border:2px dashed #cdbba9;border-radius:18px;padding:26px;text-align:center;background:#fff}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.photo{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;aspect-ratio:1;display:grid;place-items:center}
.photo img{width:100%;height:100%;object-fit:cover}
.photo .file{padding:12px;text-align:center;word-break:break-word}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}
.qr{width:220px;max-width:100%;padding:12px;background:#fff;border:1px solid var(--line);border-radius:16px}
.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f1ece6;border-radius:8px;padding:4px 7px;word-break:break-all}
footer{text-align:center;color:var(--muted);padding:36px 18px 48px}
footer small{display:block;margin-top:5px}
.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:700px){.grid2{grid-template-columns:1fr}.card{padding:18px}.hero{min-height:36vh;padding-top:38px}.topbar{align-items:flex-start;flex-direction:column}table{font-size:.9rem;display:block;overflow-x:auto}}
