
:root{--brand:#B10A0A;--brand2:#D91E18;--ink:#222;--muted:#777;--ok:#138a3a;--err:#c62828}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(120deg,#fff 0%,#fff 60%,#fff8f4 100%);color:var(--ink);
     font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif}
.wrap{max-width:1080px;margin:0 auto;padding:16px}
.grid{display:grid;grid-template-columns:1fr 340px;gap:16px}
@media (max-width:980px){.grid{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 6px 24px rgba(177,10,10,.06),0 1px 4px rgba(0,0,0,.04)}
.card .hd{padding:12px 14px;border-bottom:1px solid #f2eaea;font-weight:700}
.card .bd{padding:12px 14px}
label{display:block;font-weight:600;margin:10px 0 6px}
input[type="text"],input[type="tel"],select,textarea{width:100%;padding:10px 12px;border:1px solid #e6dcdc;border-radius:10px;background:#fff;font-size:14px}
input[type="number"]{width:100%;padding:8px 10px;border:1px solid #e6dcdc;border-radius:10px;background:#fff}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:none;border-radius:999px;color:#fff;
     background:linear-gradient(135deg,var(--brand) 0%,var(--brand2) 100%);font-weight:700;letter-spacing:.3px;cursor:pointer;
     box-shadow:0 10px 22px rgba(177,10,10,.22)}
.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.btn-outline{background:#fff;border:1px solid var(--brand);color:var(--brand);padding:10px 14px;border-radius:999px;cursor:pointer}
.tips{font-size:12px;color:var(--muted)} .muted{color:#8b7f7f} .ok{color:var(--ok)} .err{color:var(--err)}
.flex{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.center{max-width:680px;margin:24px auto;padding:20px;background:#fff;border:1px solid #eee;border-radius:16px;box-shadow:0 10px 30px rgba(177,10,10,.06)}
.center h2{margin:0 0 6px}
.center p{margin:4px 0}
.center .big{font-size:38px;line-height:1}
.center .chk{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,var(--ok),#2ecc71);
             color:#fff;display:grid;place-items:center;font-size:40px;margin:0 auto 10px;box-shadow:0 12px 24px rgba(19,138,58,.25)}
.sep{height:1px;background:#f0e6e6;margin:14px 0}
canvas{width:100%;height:180px;background:#fff;border:1px dashed #e0cfcf;border-radius:12px;touch-action:manipulation}
ul.list{list-style:none;margin:0;padding:0} ul.list li{border-bottom:1px dashed #eee;padding:8px 0;font-size:13px}
details summary{list-style:none}
dialog::backdrop{background:rgba(0,0,0,.35)}
.hero{background:linear-gradient(135deg,var(--brand) 0%,var(--brand2) 70%);color:#fff;padding:26px 16px 18px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-36px;top:-36px;width:180px;height:180px;border-radius:50%;
             background:radial-gradient(closest-side,rgba(255,255,255,.18),transparent 70%)}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:44px;height:44px;border-radius:12px;background:#fff2;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #fff3}
.logo i{width:26px;height:26px;border-radius:50%;border:3px solid #fff;position:relative}
.logo i::after{content:"";position:absolute;inset:6px;border-radius:50%;border:2px solid #fff}
.titles h1{margin:0;font-size:20px;font-weight:800;letter-spacing:.3px}
.titles p{margin:2px 0 0;opacity:.9;font-size:13px}
