* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system, system-ui, "Segoe UI", Roboto, sans-serif; background: #0b0e14; color: #eef1f6; }
header { position: sticky; top: 0; z-index: 5; background: #10151f; border-bottom: 1px solid #1f2836; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; }
header .logo { font-weight: 900; font-size: 20px; letter-spacing: 1px; }
header .logo span { color: #38f28a; }
.biz { text-align: center; font-size: 12px; color: #9aa7bd; background: #131a26; padding: 8px 12px; border-bottom: 1px solid #1f2836; }
main { padding: 14px 14px 90px; max-width: 560px; margin: 0 auto; }
.card { background: #131a26; border: 1px solid #223047; border-radius: 14px; padding: 14px; margin-bottom: 12px; }
.card.active { border-color: #38f28a; }
.card-title { font-weight: 800; margin-bottom: 10px; font-size: 16px; }
label { display: block; font-size: 12px; color: #9aa7bd; margin: 10px 0 4px; }
select, input { width: 100%; padding: 10px; border-radius: 10px; border: 1px solid #2a3a55; background: #0d1320; color: #eef1f6; font-size: 15px; margin-bottom: 6px; }
.radio { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #eef1f6; margin: 8px 0; }
.radio input { width: auto; margin: 0; }
.btn { display: inline-block; padding: 11px 16px; border-radius: 10px; border: 1px solid #38f28a; background: transparent; color: #38f28a; font-weight: 800; font-size: 15px; cursor: pointer; margin-top: 10px; }
.btn.primary { background: #38f28a; color: #06110b; border-color: #38f28a; }
.btn.danger { border-color: #ff6b6b; color: #ff6b6b; }
.btn.ghost { border-color: #2a3a55; color: #9aa7bd; font-size: 12px; padding: 7px 10px; margin: 0; }
.btnrow { display: flex; gap: 8px; flex-wrap: wrap; }
.est { margin-top: 12px; background: #0d1320; border: 1px dashed #2a3a55; border-radius: 10px; padding: 12px; }
.est-row { display: flex; justify-content: space-between; gap: 8px; font-size: 14px; margin: 4px 0; align-items: center; }
.est-total { font-size: 26px; font-weight: 900; color: #38f28a; }
.muted { color: #9aa7bd; } .small { font-size: 12px; }
.err { color: #ff6b6b; margin-top: 10px; font-size: 14px; }
.hidden { display: none; }
.timeline { margin: 12px 0; }
.step { padding: 8px 10px; border-left: 3px solid #2a3a55; margin: 2px 0 2px 6px; color: #5b6b85; font-size: 14px; }
.step.done { border-color: #38f28a; color: #eef1f6; font-weight: 700; }
.driver-card { background: #0d1320; border-radius: 10px; padding: 10px; margin: 10px 0; font-size: 15px; }
.req { border-top: 1px solid #223047; padding: 10px 0; font-size: 14px; }
.req:first-of-type { border-top: none; }
.earn-big { font-size: 30px; font-weight: 900; color: #38f28a; margin: 8px 0; }
.tabbar { position: fixed; bottom: 0; left: 0; right: 0; background: #10151f; border-top: 1px solid #1f2836; display: flex; z-index: 5; }
.tab { flex: 1; padding: 14px; text-align: center; font-weight: 800; color: #5b6b85; cursor: pointer; font-size: 15px; }
.tab.on { color: #38f28a; border-top: 3px solid #38f28a; }
footer { text-align: center; color: #5b6b85; font-size: 11px; padding: 18px; }
