.page-wrap { max-width: 960px; margin: 40px auto; padding: 0 20px 60px; }
.page-card { background: #fff; border-radius: 16px; padding: 28px; box-shadow: 0 12px 30px rgba(15,23,42,.08); }
.page-title { font-size: 32px; margin: 0 0 8px; color: #0f172a; }
.page-subtitle { color: #64748b; margin: 0 0 24px; }
.form-row { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 16px; margin-bottom: 16px; }
.form-row label { display: block; font-size: 14px; margin-bottom: 6px; color: #334155; }
.form-row input, .form-row select, .form-row textarea { width: 100%; padding: 12px 14px; border: 1px solid #cbd5e1; border-radius: 10px; font: inherit; }
.btn-primary { background: #145b8f; color: #fff; border: none; border-radius: 10px; padding: 12px 22px; font-size: 15px; cursor: pointer; }
.btn-primary:hover { background: #0f4c7a; }
.msg { padding: 12px 14px; border-radius: 10px; margin-bottom: 16px; display: none; }
.msg.show { display: block; }
.msg.success { background: #ecfdf5; color: #047857; }
.msg.error { background: #fef2f2; color: #b91c1c; }
.track-result { margin-top: 24px; display: none; }
.track-result.show { display: block; }
.status-badge { display: inline-block; background: #dbeafe; color: #1d4ed8; padding: 6px 12px; border-radius: 999px; font-weight: 600; }
.track-timeline { list-style: none; padding: 0; margin: 20px 0 0; }
.track-timeline li { position: relative; padding: 0 0 18px 22px; border-left: 2px solid #dbeafe; margin-left: 6px; }
.track-timeline li:last-child { border-left-color: transparent; }
.track-timeline li::before { content: ""; width: 12px; height: 12px; background: #145b8f; border-radius: 50%; position: absolute; left: -7px; top: 4px; }
.track-timeline .time { color: #64748b; font-size: 13px; }
.back-link { display: inline-block; margin-bottom: 20px; color: #145b8f; text-decoration: none; }
