:root { --ink:#1a202c; --sub:#4a5568; --line:#e2e8f0; --bg:#f7fafc;
        --brand:#2b6cb0; --accent:#c53030; }
* { box-sizing:border-box; }
html { background:#fff; }
body { font-family:"PingFang SC","Noto Sans CJK SC",sans-serif; color:var(--ink);
       margin:0; line-height:1.7; }
.wrap { max-width:760px; margin:0 auto; padding:24px 20px 60px; }
header.site { border-bottom:1px solid var(--line); }
header.site .wrap { display:flex; justify-content:space-between; align-items:center;
                    padding:14px 20px; }
.logo { font-weight:900; font-size:20px; color:var(--brand); text-decoration:none; }
h1 { font-size:26px; } h2 { font-size:18px; margin-top:32px; }
.btn { display:inline-block; background:var(--brand); color:#fff; padding:12px 28px;
       border-radius:8px; text-decoration:none; border:0; font-size:16px;
       cursor:pointer; }
.btn.secondary { background:#fff; color:var(--brand); border:1px solid var(--brand); }
.muted { color:var(--sub); font-size:13px; }
.card { border:1px solid var(--line); border-radius:10px; padding:16px 18px;
        margin:12px 0; background:#fff; }
label { display:block; font-weight:700; margin:18px 0 6px; }
input[type=text], textarea, select { width:100%; padding:10px; font-size:15px;
  border:1px solid var(--line); border-radius:8px; font-family:inherit; }
textarea { min-height:90px; }
.errors { background:#fff5f5; border:1px solid #feb2b2; border-radius:8px;
          padding:10px 14px; color:var(--accent); }
.personas { display:flex; gap:10px; flex-wrap:wrap; }
.personas label { margin:0; font-weight:400; text-align:center; cursor:pointer; }
.personas img { width:110px; border-radius:8px; border:3px solid transparent; }
.personas input { display:none; }
.personas input:checked + img { border-color:var(--brand); }
.status-steps { display:flex; gap:6px; margin:20px 0; }
.status-steps span { flex:1; text-align:center; padding:10px 4px; border-radius:8px;
  background:var(--bg); color:var(--sub); font-size:14px; }
.status-steps span.on { background:var(--brand); color:#fff; font-weight:700; }
table { border-collapse:collapse; width:100%; font-size:14px; }
th,td { border:1px solid var(--line); padding:7px 10px; text-align:left; }
th { background:var(--bg); }
.notice { background:var(--bg); border-radius:8px; padding:12px 14px;
          font-size:13px; color:var(--sub); }
.deliver-list li { margin:6px 0; }
video.sample { width:100%; max-width:340px; border-radius:10px; }
