/* assets/css/hal-lacak.css — dipindah APA ADANYA dari tracking.php (blok <style> utama) pada 23 Sep 2026,
   supaya bisa di-cache browser & HTML-nya lebih ringan. Isi tidak diubah. */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:root{--blue:#1178D4;--blue-dk:#0E60A9;--blue-lt:#F0F7FE;--red:#EF4444;--green:#059669;--dark:#111827;--mid:#5B6472;--border:#E5E7EB;--bg:#F3F4F6}
body{font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--dark);font-size:13px;padding-top:54px;padding-bottom:30px}
.hdr{position:fixed;top:0;left:0;right:0;height:54px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 14px;gap:10px;z-index:100}
.hdr-back{background:var(--bg);border:none;border-radius:8px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.hdr-back svg{width:20px;height:20px;stroke:var(--dark);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wrap{max-width:520px;margin:0 auto;padding:12px}

/* Search form */
.search-card{background:#fff;border-radius:14px;border:1px solid var(--border);padding:20px;margin-bottom:14px}
.search-title{font-size:15px;font-weight:800;margin-bottom:4px}
.search-sub{font-size:11px;color:var(--mid);margin-bottom:16px}
.fg{margin-bottom:11px}
.fl{display:block;font-size:10px;font-weight:700;color:var(--mid);text-transform:uppercase;letter-spacing:.3px;margin-bottom:5px}
.fc{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:10px 12px;font-size:13px;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--dark);background:#fff;outline:none;transition:border-color .15s}
.fc:focus{border-color:var(--blue)}
.btn-search{width:100%;background:var(--blue);color:#fff;border:none;border-radius:10px;padding:13px;font-size:14px;font-weight:700;cursor:pointer;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex;align-items:center;justify-content:center;gap:7px}
.btn-search svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Result card */
.result-card{background:#fff;border-radius:14px;border:1px solid var(--border);margin-bottom:12px;overflow:hidden}
.result-header{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}
.order-code{font-size:14px;font-weight:800;color:var(--blue)}
.order-date{font-size:11px;color:var(--mid);margin-top:2px}
.order-total{font-size:13px;font-weight:700;color:var(--dark);text-align:right}

/* Status row */
.status-row{background:var(--blue-lt);padding:10px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}
.status-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:#0F62AD}
.status-deadline{font-size:10px;color:var(--mid)}

/* 4-step progress */
.progress-wrap{padding:18px 16px;border-bottom:1px solid var(--border)}
.prog-steps{display:flex;align-items:flex-start;gap:0;position:relative}
.prog-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:1}
.prog-connector{position:absolute;top:20px;left:0;right:0;height:3px;background:var(--border);z-index:0}
.prog-line-done{position:absolute;top:0;left:0;height:100%;background:var(--blue)}
.prog-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--border);background:#fff;transition:all .3s}
.prog-circle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.prog-item.done .prog-circle{background:var(--blue);border-color:var(--blue);color:#fff}
.prog-item.active .prog-circle{background:var(--blue-lt);border-color:var(--blue);color:var(--blue)}
.prog-item.pending .prog-circle{color:var(--mid)}
.prog-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.2px;text-align:center;line-height:1.3}
.prog-item.done .prog-label{color:var(--blue)}
.prog-item.active .prog-label{color:var(--blue)}
.prog-item.pending .prog-label{color:var(--mid)}

/* Detail sections */
.detail-body{padding:14px 16px}
.det-section{margin-bottom:14px}
.det-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--mid);margin-bottom:6px}
.det-value{font-size:13px;font-weight:600;color:var(--dark)}
.det-sub{font-size:11px;color:var(--mid);line-height:1.6;margin-top:2px}

/* Product rows */
.item-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}
.item-row:last-child{border-bottom:none}
.item-foto{width:44px;height:44px;border-radius:8px;flex-shrink:0;background:var(--blue-lt);display:flex;align-items:center;justify-content:center;overflow:hidden}
.item-foto svg{width:18px;height:18px;stroke:#94A3B8;fill:none;stroke-width:1.5}
.item-foto img{width:44px;height:44px;object-fit:cover}

/* Total */
.total-section{padding:10px 16px;border-top:1px solid var(--border)}
.total-row{display:flex;justify-content:space-between;padding:4px 0;font-size:12px;color:var(--mid)}
.total-row.grand{font-size:14px;font-weight:800;color:var(--dark);border-top:1px dashed var(--border);margin-top:7px;padding-top:9px}
.total-row.grand .tv{color:#DC2626}

/* Error */
.err-box{background:#FEE2E2;border:1px solid #FCA5A5;border-radius:10px;padding:12px 16px;font-size:13px;color:#991B1B;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.err-box svg{width:18px;height:18px;stroke:#DC2626;fill:none;stroke-width:2;flex-shrink:0}

/* Action buttons */
.btn-act{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;border-radius:10px;padding:12px;font-size:13px;font-weight:700;cursor:pointer;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin-bottom:8px;text-decoration:none}
.btn-act svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn-primary{background:var(--blue);color:#fff;border:none}
.btn-outline{background:#fff;color:var(--blue);border:2px solid var(--blue)}
