:root{
  --bg:#0f1216; --card:#fff; --ink:#1a1d23; --muted:#6b7280;
  --line:#e5e7eb; --brand:#c8102e; --brand-d:#9b0c23;
  --ok:#157f3b; --okbg:#e7f6ec; --errbg:#fdecec; --err:#b42318;
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#0f1216,#1b2027);
  font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink)}
.wrap{max-width:640px;margin:0 auto;padding:24px 16px 64px}
.wrap.wide{max-width:880px}
.hero{text-align:center;color:#fff;padding:18px 0 22px}
.hero h1{margin:0;font-size:26px;letter-spacing:.5px}
.hero .tag{margin:.3em 0 0;color:#cbd5e1;text-transform:uppercase;letter-spacing:2px;font-size:13px}

.card{background:var(--card);border-radius:16px;padding:22px;box-shadow:0 10px 40px rgba(0,0,0,.3)}
h2{font-size:15px;text-transform:uppercase;letter-spacing:1px;color:var(--brand);margin:24px 0 10px;border-bottom:2px solid var(--line);padding-bottom:6px}
.card h2:first-of-type{margin-top:8px}

label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:12px}
input[type=text],input:not([type]),input[type=tel],input[type=password]{
  width:100%;margin-top:5px;padding:11px 12px;border:1px solid var(--line);
  border-radius:10px;font-size:16px;font-weight:400;color:var(--ink)}
input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(200,16,46,.15)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:480px){.grid{grid-template-columns:1fr}}
label.bad input{border-color:var(--err);background:var(--errbg)}

/* example */
.example{text-align:center;margin-bottom:6px}
.example-img{min-height:120px;border:2px dashed var(--line);border-radius:12px;
  display:flex;align-items:center;justify-content:center;color:var(--muted);
  background:#fafafa;padding:8px}
.example-img img{max-width:78%;max-height:260px;width:auto;height:auto;
  object-fit:contain;border-radius:8px}
@media(max-width:480px){.example-img img{max-width:92%}}
.example-cap{font-size:13px;color:var(--muted);margin:8px 0 0}

/* options */
.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:480px){.options{grid-template-columns:1fr}}
.opt{margin:0;cursor:pointer}
.opt input{position:absolute;opacity:0}
.opt-body{display:block;border:2px solid var(--line);border-radius:12px;padding:14px;text-align:center;transition:.15s}
.opt input:checked + .opt-body{border-color:var(--brand);background:rgba(200,16,46,.05);box-shadow:0 0 0 3px rgba(200,16,46,.12)}
.opt-name{display:block;font-size:16px;font-weight:700;color:var(--ink)}
.opt-sub{display:block;font-size:12px;color:var(--muted);margin:2px 0 8px}
.opt-price{display:block;font-size:24px;font-weight:800;color:var(--brand)}
.options.bad .opt-body{border-color:var(--err)}

/* payment info */
.paybox{border:2px solid var(--line);border-radius:12px;padding:14px 16px;background:#fafafa}
.paybox-title{margin:0 0 4px;font-size:18px;font-weight:800;color:var(--ink)}
.methods{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.method{display:inline-block;background:#fff;border:1px solid var(--line);
  border-radius:30px;padding:7px 14px;font-size:14px;font-weight:600;color:var(--ink)}

.btn{display:inline-block;background:var(--brand);color:#fff;border:0;border-radius:10px;
  padding:11px 18px;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--brand-d)}
.btn.big{width:100%;margin-top:22px;padding:15px;font-size:17px}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{background:#f3f4f6}

.muted{color:var(--muted);font-size:13px}
.banner{padding:12px 14px;border-radius:10px;margin-bottom:16px;font-weight:600}
.banner.err{background:var(--errbg);color:var(--err)}
.banner.ok{background:var(--okbg);color:var(--ok)}
footer{text-align:center;margin-top:22px}
footer a{color:#94a3b8;font-size:13px}

/* confirmation */
.confirm{text-align:center}
.check{width:64px;height:64px;border-radius:50%;background:var(--okbg);color:var(--ok);
  font-size:34px;line-height:64px;margin:0 auto 10px;font-weight:800}
.ordernum{font-size:20px}
.confirm .due{font-size:18px;margin:14px 0}

/* admin */
.adminbar{display:flex;justify-content:space-between;align-items:center;color:#fff;flex-wrap:wrap;gap:10px}
.adminbar h1{font-size:22px;margin:0}
.stats{display:flex;gap:12px;margin:16px 0;flex-wrap:wrap}
.stat{background:#fff;border-radius:12px;padding:12px 18px;flex:1;min-width:120px;text-align:center}
.stat .num{display:block;font-size:24px;font-weight:800;color:var(--brand)}
.search{display:flex;gap:8px;margin-bottom:16px}
.search input{flex:1;background:#fff}
.order{background:#fff;border-radius:14px;padding:16px;margin-bottom:14px}
.order-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:10px}
.onum{font-weight:800;font-size:16px;margin-right:8px}
.when{color:var(--muted);font-size:13px}
.badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;letter-spacing:.5px}
.badge.paid{background:var(--okbg);color:var(--ok)}
.badge.pending{background:#fff3e0;color:#9a6700}
.badge.plain{background:#f1f3f5;color:#475569}
.order-detail{font-size:14px;display:grid;gap:3px;margin-bottom:12px}
.filegrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
@media(max-width:560px){.filegrid{grid-template-columns:repeat(2,1fr)}}
.files label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}
.files-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.paidchk{display:inline-flex;align-items:center;gap:8px;font-size:14px;margin:0;text-transform:none;letter-spacing:0;color:var(--ink)}
.paidchk input{width:auto}
