:root { --accent: #e0a82e; --ink: #1c1b18; --muted: #6b6b6b; --bg: #f6f4ef; --line: #e3ded3; }
* { box-sizing: border-box; }
body {
    margin: 0; background: var(--bg); color: var(--ink);
    font-family: "Segoe UI", Tahoma, "Helvetica Neue", Arial, sans-serif;
    line-height: 1.7;
}
.hero {
    background: linear-gradient(135deg, #2a2722, #14110d);
    color: #fff; padding: 70px 20px 60px; text-align: center;
    border-bottom: 5px solid var(--accent);
}
.hero-inner { max-width: 720px; margin: 0 auto; }
.hero h1 { margin: 0 0 14px; font-size: 2.1rem; }
.hero p { margin: 0; color: #d8d3c7; font-size: 1.1rem; }
.container { max-width: 640px; margin: -36px auto 40px; padding: 0 16px; }
.card {
    background: #fff; border: 1px solid var(--line); border-radius: 16px;
    padding: 30px; box-shadow: 0 14px 40px rgba(0,0,0,.08);
}
.intro { margin: 0 0 22px; color: var(--muted); }
form label { display: block; margin-bottom: 16px; font-weight: 600; font-size: .95rem; }
form label span { color: #c0392b; }
.row { display: flex; gap: 14px; }
.row label { flex: 1; }
input, select, textarea {
    width: 100%; margin-top: 7px; padding: 12px 13px; font: inherit;
    border: 1px solid var(--line); border-radius: 10px; background: #fbfaf7;
    transition: border-color .15s, box-shadow .15s;
}
input:focus, select:focus, textarea:focus {
    outline: none; border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(224,168,46,.2); background: #fff;
}
textarea { resize: vertical; }
.err { color: #c0392b; font-size: .82rem; font-weight: 500; font-style: normal; display: block; margin-top: 5px; }
.btn {
    display: inline-block; background: var(--accent); color: #1a1505; border: 0;
    padding: 13px 26px; font-size: 1rem; font-weight: 700; border-radius: 10px;
    cursor: pointer; text-decoration: none; transition: filter .15s, transform .05s;
}
.btn:hover { filter: brightness(.95); }
.btn:active { transform: translateY(1px); }
.success-card { text-align: center; }
.success-card .check {
    width: 64px; height: 64px; margin: 0 auto 16px; border-radius: 50%;
    background: #e8f6ec; color: #1f9d55; font-size: 2rem; line-height: 64px;
}
.success-card h2 { margin: 0 0 8px; }
.success-card p { color: var(--muted); margin: 0 0 22px; }
.site-foot { text-align: center; padding: 30px 16px; color: var(--muted); font-size: .9rem; }
.site-foot p { margin: 4px 0; }
.site-foot .adminlink a { color: var(--muted); text-decoration: none; font-size: .8rem; }
.site-foot .adminlink a:hover { color: var(--accent); }
@media (max-width: 520px) { .row { flex-direction: column; gap: 0; } .hero h1 { font-size: 1.6rem; } }
