* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    font-family:'Inter',Arial,sans-serif;
    background:#F8FAFC;
    color:#0F172A;
}

header{
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 35px;
flex-wrap:wrap;
gap:20px;

background:rgba(255,255,255,.75);
backdrop-filter:blur(18px);

border-bottom:1px solid rgba(255,255,255,.4);

box-shadow:0 10px 30px rgba(15,23,42,.08);

position:sticky;
top:0;
z-index:999;
}

header h1{
font-size:30px;
font-weight:800;
margin:0;
}

nav{
display:flex;
gap:18px;
align-items:center;
flex-wrap:wrap;
}

nav a{

color:#334155;

text-decoration:none;

font-weight:700;

padding:12px 18px;

border-radius:14px;

transition:.25s;

}

nav a:hover{

background:#2563EB;

color:#fff;

transform:translateY(-2px);

}
.logo{

display:flex;

align-items:center;

gap:16px;

}

.logo img{

width:60px;

height:60px;

object-fit:contain;

}

.tagline{

font-size:14px;

color:#64748B;

margin-top:4px;

}
.hero {
    text-align: center;
    padding: 80px 20px;
}

.hero h2 {
    font-size: 40px;
    color: #007BFF;
}

.hero p {
    margin: 20px 0;
    font-size: 18px;
}

.hero button {
    background: #007BFF;
    color: white;
    border: none;
    padding: 15px 30px;
    font-size: 18px;
    border-radius: 8px;
    cursor: pointer;
}

.hero button:hover {
    background: #005ecb;
}
/* ===== DASHBOARD ===== */

.dashboard-cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:20px;
    margin:30px 0;
}

.card{

background:rgba(255,255,255,.95);

backdrop-filter:blur(18px);

border:1px solid rgba(255,255,255,.4);

border-radius:26px;

padding:28px;

box-shadow:
0 20px 45px rgba(15,23,42,.08);

transition:.35s;

overflow:hidden;

position:relative;

}
.card:hover{

transform:translateY(-8px);

box-shadow:
0 28px 60px rgba(37,99,235,.18);

}
.card::before{

content:"";

position:absolute;

top:0;

left:0;

width:100%;

height:5px;

background:linear-gradient(
90deg,
#2563EB,
#3B82F6,
#38BDF8
);

}
.card h2{
    color:#007BFF;
    font-size:32px;
    margin-top:10px;
}

input{
    width:100%;
    max-width:450px;
    padding:12px;
    border:1px solid #ccc;
    border-radius:8px;
    font-size:16px;
}

button{
    background:#007BFF;
    color:white;
    border:none;
    padding:12px 25px;
    border-radius:8px;
    cursor:pointer;
    font-size:16px;
}

button:hover{
    background:#005ecb;
}

#parcelList{
    margin-top:30px;
}

#parcelList .card{
    text-align:left;
}

hr{
    margin:40px 0;
}
.progress-container{
    width:100%;
    height:20px;
    background:#ddd;
    border-radius:20px;
    overflow:hidden;
    margin-top:15px;
}

.progress-bar{
    width:0%;
    height:100%;
    background:#007BFF;
    transition:0.8s;
}

#progressText{
    margin-top:10px;
    font-weight:bold;
    color:#007BFF;
}
#timeline{

margin-top:25px;

display:flex;

flex-direction:column;

gap:15px;

}

.timeline-step{

padding:15px;

border-left:6px solid #d0d0d0;

background:white;

border-radius:10px;

font-weight:bold;

transition:0.4s;

}

.timeline-step.active{

border-left:6px solid #007BFF;

background:#eaf4ff;

color:#007BFF;

}
.dashboard-container{
    max-width:1200px;
    margin:30px auto;
    padding:20px;
}

.dashboard-cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:15px;
    margin-bottom:25px;
}

.card{
    background:#fff;
    border-radius:12px;
    padding:20px;
    text-align:center;
    box-shadow:0 3px 10px rgba(0,0,0,.1);
}

.card h3{
    margin-bottom:10px;
    color:#555;
}

.card h2{
    color:#0b6cff;
    font-size:32px;
}
table{

width:100%;

border-collapse:separate;

border-spacing:0;

background:#fff;

border-radius:24px;

overflow:hidden;

box-shadow:0 20px 45px rgba(15,23,42,.08);

}

th{

background:linear-gradient(135deg,#2563EB,#3B82F6);

color:#fff;

padding:18px;

font-size:15px;

font-weight:700;

text-transform:uppercase;

letter-spacing:.5px;

}

td{

padding:18px;

border-bottom:1px solid #E2E8F0;

font-size:15px;

color:#334155;

transition:.25s;

}
tr:hover{

background:#F8FBFF;

}

tbody tr:last-child td{

border-bottom:none;

}
button{

background:linear-gradient(135deg,#2563EB,#3B82F6);

color:#fff;

border:none;

border-radius:18px;

padding:15px 28px;

font-size:16px;

font-weight:700;

cursor:pointer;

transition:.3s;

box-shadow:0 12px 25px rgba(37,99,235,.25);

}

button:hover{

transform:translateY(-3px);

box-shadow:0 18px 35px rgba(37,99,235,.35);

background:linear-gradient(135deg,#1D4ED8,#2563EB);

}
.btn-secondary{

background:#fff;

color:#2563EB;

border:2px solid #2563EB;

box-shadow:none;

}

.btn-secondary:hover{

background:#2563EB;

color:#fff;

}

.btn-danger{

background:#EF4444;

}

.btn-danger:hover{

background:#DC2626;

}
input,
select,
textarea{

width:100%;

padding:16px 18px;

border:2px solid #E2E8F0;

border-radius:18px;

background:#FFFFFF;

font-size:16px;

font-family:Inter,sans-serif;

transition:.25s;

outline:none;

box-shadow:0 8px 18px rgba(15,23,42,.04);

}
input:focus,
select:focus,
textarea:focus{

border-color:#2563EB;

box-shadow:
0 0 0 4px rgba(37,99,235,.15),
0 12px 28px rgba(37,99,235,.12);

transform:translateY(-2px);

}

input::placeholder,
textarea::placeholder{

color:#94A3B8;

}
.tracking-card{
    background:#fff;
    border-radius:15px;
    padding:20px;
    margin-top:20px;
    box-shadow:0 4px 12px rgba(0,0,0,.1);
}

#timeline{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin:20px 0;
}

.timeline-step{
    padding:12px;
    border-radius:10px;
    background:#e0e0e0;
    color:#666;
    font-weight:bold;
}

.timeline-step.completed{
    background:#22c55e;
    color:#fff;
}

.timeline-step.current{
    background:#f59e0b;
    color:#fff;
    transform:scale(1.02);
}

.timeline-line{
    width:4px;
    height:25px;
    background:#d1d5db;
    margin-left:18px;
    border-radius:10px;
}

.timeline-line.completed{
    background:#22c55e;
}
.timeline-step.completed::before{
    content:"✔ ";
}

.timeline-step.current::before{
    content:"🚚 ";
}
.status{
    padding:6px 12px;
    border-radius:20px;
    font-weight:bold;
    color:white;
    display:inline-block;
}

.Order-Created{
    background:#f59e0b;
}

.Pending{
    background:#ef4444;
}

.In-Transit{
    background:#2563eb;
}

.Out-for-Delivery{
    background:#7c3aed;
}

.Delivered{
    background:#22c55e;
}

.Parcel-Received,
.At-Sorting-Facility,
.Assigned-to-Driver{
    background:#0ea5e9;
}
.tracking-page{
    min-height:100vh;
    padding:25px 15px;
    background:linear-gradient(180deg,#eef5ff 0%,#ffffff 100%);
}

.tracking-card{
    max-width:700px;
    margin:auto;
    background:#ffffff;
    border-radius:24px;
    padding:24px;
    box-shadow:
        0 10px 30px rgba(0,0,0,.08),
        0 2px 8px rgba(0,0,0,.05);
}

.tracking-header{
    text-align:center;
    margin-bottom:25px;
}

.tracking-header h2{
    font-size:28px;
    margin-bottom:8px;
    color:#0f172a;
}

.tracking-header p{
    color:#64748b;
    font-size:15px;
}
.parcel-card{
    background:#f8fbff;
    border-radius:20px;
    padding:20px;
    margin-bottom:25px;
    border:1px solid #e2e8f0;
}

.parcel-number{
    font-size:24px;
    font-weight:700;
    color:#0b6cff;
    text-align:center;
    margin-bottom:15px;
}

.parcel-route{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    font-size:18px;
    font-weight:600;
    margin-bottom:20px;
}

.parcel-route span{
    color:#0b6cff;
    font-size:22px;
}

.parcel-status{
    background:#0b6cff;
    color:#fff;
    text-align:center;
    padding:12px;
    border-radius:14px;
    font-weight:700;
    margin-bottom:20px;
}

.info-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}

.info-box{
    background:white;
    border-radius:16px;
    padding:16px;
    text-align:center;
    box-shadow:0 4px 10px rgba(0,0,0,.06);
    font-size:14px;
    word-break:break-word;
}
.search-card{

background:#fff;

padding:30px;

border-radius:25px;

box-shadow:0 10px 30px rgba(0,0,0,.08);

margin:auto;

max-width:700px;

margin-bottom:30px;

}

.search-box{
display:flex;
align-items:center;
background:#fff;
border-radius:70px;
padding:10px;
max-width:850px;
margin:30px auto;
box-shadow:0 20px 45px rgba(0,0,0,.10);
gap:10px;
}

.search-box input{
flex:1;
border:none;
outline:none;
background:transparent;
padding:20px 25px;
font-size:18px;
color:#1f2937;
}

.search-box input:focus{

border-color:#0b6cff;

}

.search-box button{
border:none;
background:linear-gradient(135deg,#0A5CFF,#1E88E5);
color:white;
padding:18px 35px;
border-radius:50px;
font-size:17px;
font-weight:700;
cursor:pointer;
transition:.3s;
white-space:nowrap;
}

.search-box button:hover{
transform:translateY(-2px) scale(1.02);
box-shadow:0 16px 35px rgba(0,92,255,.35);
}
.status-pill{
background:#0b6cff;
color:white;
padding:14px;
border-radius:40px;
text-align:center;
font-weight:bold;
font-size:17px;
margin:20px 0;
}

.summary-grid{
display:grid;
grid-template-columns:1fr;
gap:16px;
margin-top:20px;
}

.summary-card{
background:white;
padding:20px;
border-radius:18px;
box-shadow:0 8px 20px rgba(0,0,0,.08);
transition:.3s;
}

.summary-card:hover{
transform:translateY(-4px);
}

.summary-card h4{
margin:0 0 10px;
color:#0b6cff;
font-size:16px;
}

.summary-card p{
margin:0;
font-size:15px;
color:#444;
}
.tracking-progress{
background:white;
padding:25px;
border-radius:24px;
margin-top:25px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
overflow-x:auto;
}

.progress-wrapper{
position:relative;
display:flex;
justify-content:space-between;
align-items:flex-start;
min-width:700px;
padding-top:30px;
}

.progress-line{
position:absolute;
top:48px;
left:45px;
right:45px;
height:6px;
background:#dbe4ee;
border-radius:20px;
z-index:0;
}

.progress-step{
position:relative;
z-index:2;
text-align:center;
width:90px;
}

.circle{
width:58px;
height:58px;
border-radius:50%;
background:#e5e7eb;
display:flex;
align-items:center;
justify-content:center;
margin:auto;
font-size:24px;
transition:.35s;
}

.progress-step.completed .circle{
background:#0b6cff;
color:white;
transform:scale(1.05);
}

.progress-step.current .circle{
background:#ff9800;
color:white;
transform:scale(1.12);
box-shadow:0 0 20px rgba(255,152,0,.5);
}

.progress-step p{
margin-top:10px;
font-size:13px;
font-weight:600;
}
.parcel-header{
display:flex;
justify-content:space-between;
align-items:center;
gap:15px;
margin-bottom:20px;
flex-wrap:wrap;
}

.parcel-header h2{
margin:0;
font-size:28px;
color:#0b6cff;
}

.parcel-header p{
margin-top:6px;
color:#666;
}

.status-badge{
background:linear-gradient(135deg,#0b6cff,#3b82f6);
color:white;
padding:12px 20px;
border-radius:30px;
font-weight:bold;
box-shadow:0 8px 18px rgba(11,108,255,.25);
}

.parcel-details{
display:grid;
gap:18px;
margin-top:20px;
}

.detail-card{
background:white;
padding:20px;
border-radius:18px;
box-shadow:0 8px 20px rgba(0,0,0,.08);
border-left:5px solid #0b6cff;
transition:.3s;
}

.detail-card:hover{
transform:translateY(-3px);
}

.detail-card h4{
margin:0 0 8px;
color:#0b6cff;
}

.detail-card p{
margin:0;
color:#444;
}
.hero-banner{
width:100%;
max-width:1200px;
margin:25px auto;
padding:60px 30px;
border-radius:30px;
background:linear-gradient(135deg,#005cff,#3d82ff);
text-align:center;
color:white;
box-shadow:0 20px 50px rgba(0,0,0,.18);
overflow:hidden;
position:relative;
}

.hero-banner::before{
content:"";
position:absolute;
width:300px;
height:300px;
background:rgba(255,255,255,.08);
border-radius:50%;
top:-120px;
right:-120px;
}

.hero-banner h1{
font-size:clamp(2.3rem,6vw,4rem);
font-weight:800;
margin-bottom:15px;
}

.hero-banner p{
font-size:1.2rem;
opacity:.95;
}
.tracking-progress{
margin-top:30px;
background:#fff;
padding:25px;
border-radius:24px;
box-shadow:0 10px 25px rgba(0,0,0,.08);
overflow-x:auto;
}

.tracking-progress h2{
text-align:center;
margin-bottom:30px;
color:#0b6cff;
}

.progress-container{
display:flex;
justify-content:space-between;
align-items:flex-start;
overflow-x:auto;
padding:20px 0;
gap:20px;
}

.progress-step{
display:flex;
flex-direction:column;
align-items:center;
min-width:90px;
position:relative;
}

.progress-circle{
width:60px;
height:60px;
border-radius:50%;
background:#eceff5;
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
transition:.3s;
border:4px solid #dbe5f4;
}

.progress-step.completed .progress-circle{
background:#16a34a;
border-color:#16a34a;
color:#fff;
}

.progress-step.current .progress-circle{
background:#0b6cff;
border-color:#0b6cff;
color:#fff;
transform:scale(1.08);
box-shadow:0 0 20px rgba(11,108,255,.35);
}

.progress-step span{
margin-top:10px;
font-size:13px;
font-weight:700;
text-align:center;
}
.tracking-page{
    width:100%;
    max-width:1280px;
    margin:0 auto;
    padding:20px;
}

.result-container{
    margin-top:20px;
}

@media (min-width:768px){
    .tracking-page{
        max-width:1200px;
        padding:40px;
    }

    .search-card,
    .parcel-card,
    .tracking-progress{
        max-width:900px;
        margin-left:auto;
        margin-right:auto;
    }
}
.glass-card{
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(18px);
    border:1px solid rgba(255,255,255,.35);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.parcel-card{
    background:#fff;
    border-radius:24px;
    padding:24px;
    margin:20px 0;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    animation:fadeUp .4s ease;
}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(20px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}
/* Mobile Optimization */

@media (max-width:768px){

header{

position:sticky;

top:0;

z-index:1000;

display:flex;

justify-content:space-between;

align-items:center;

padding:18px 35px;

background:rgba(255,255,255,.88);

backdrop-filter:blur(18px);

border-bottom:1px solid rgba(255,255,255,.35);

box-shadow:0 10px 30px rgba(15,23,42,.06);

}

header h1{
font-size:32px;
}

nav{
gap:16px;
}

.hero-banner{
padding:40px 20px;
border-radius:30px;
}

.hero-banner h1{
font-size:48px;
}

.search-card{
width:100%;
padding:24px;
border-radius:24px;
margin:20px auto;
}

.search-box{
display:flex;
align-items:center;
gap:15px;
margin-top:25px;
padding:10px;
background:#f8fbff;
border-radius:20px;
border:2px solid #e6eefb;
}

.search-box input,
.search-box button{
width:100%;
height:58px;
font-size:20px;
}

.parcel-card{
padding:24px;
border-radius:26px;
}

.parcel-details{
display:grid;
grid-template-columns:1fr;
gap:18px;
}

}
body{
background:linear-gradient(180deg,#eef6ff,#ffffff);
}

.hero-banner{
background:linear-gradient(135deg,#0b6cff,#2f7dff);
box-shadow:0 20px 45px rgba(11,108,255,.25);
}

.search-card,
.parcel-card,
.tracking-progress{
border-radius:28px;
box-shadow:0 18px 40px rgba(0,0,0,.08);
}

.detail-card{
border-left:6px solid #0b6cff;
transition:.3s;
}

.detail-card:hover{
transform:translateY(-4px);
box-shadow:0 10px 25px rgba(11,108,255,.18);
}

button{
transition:.25s;
}

button:hover{
transform:scale(1.03);
}
html{
scroll-behavior:smooth;
}

body{
font-family:Inter,Arial,sans-serif;
background:linear-gradient(180deg,#edf5ff,#ffffff);
}

.hero-banner{
overflow:hidden;
position:relative;
}

.hero-banner::before{
content:"";
position:absolute;
width:300px;
height:300px;
background:rgba(255,255,255,.08);
border-radius:50%;
top:-120px;
right:-120px;
}

.parcel-card,
.search-card,
.tracking-progress{
transition:.3s;
}

.parcel-card:hover,
.search-card:hover{
transform:translateY(-5px);
}

.detail-card{
border-radius:18px;
padding:20px;
}

.status-badge{
border-radius:999px;
padding:12px 24px;
font-weight:700;
}
.detail-card h4{
margin-bottom:8px;
font-size:18px;
color:#0b6cff;
}

.detail-card p{
font-size:16px;
color:#555;
line-height:1.5;
}
/* ===== Responsive Tracking Card ===== */

.parcel-card{
width:100%;
max-width:900px;
margin:25px auto;
padding:24px;
border-radius:28px;
}

.parcel-header{
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
flex-wrap:wrap;
}

.parcel-header h2{
font-size:30px;
margin-bottom:6px;
word-break:break-word;
}

.parcel-header p{
font-size:16px;
color:#666;
}

.status-badge{
font-size:16px;
padding:12px 22px;
border-radius:40px;
}

.parcel-details{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:18px;
margin-top:25px;
}

.detail-card{
padding:20px;
border-radius:20px;
}

.detail-card h4{
font-size:17px;
margin-bottom:8px;
}

.detail-card p{
font-size:16px;
line-height:1.6;
word-break:break-word;
}

@media(max-width:768px){

.parcel-card{
padding:18px;
}

.parcel-header{
flex-direction:column;
align-items:flex-start;
}

.parcel-header h2{
font-size:24px;
}

.parcel-header p{
font-size:15px;
}

.status-badge{
width:100%;
text-align:center;
font-size:15px;
}

.parcel-details{
grid-template-columns:1fr;
gap:15px;
}

.detail-card h4{
font-size:16px;
}

.detail-card p{
font-size:15px;
}

}
/* =========================
   ADMIN LOGIN
========================= */

.login-logo{

display:block;

width:120px;

margin:30px auto 20px;

filter:drop-shadow(0 10px 25px rgba(37,99,235,.25));

}

header{

text-align:center;

}

header h1{

font-size:42px;

font-weight:900;

color:#0F172A;

margin-top:10px;

}

header p{

color:#64748B;

font-size:18px;

}

.login-subtitle{

font-size:15px;

letter-spacing:1px;

text-transform:uppercase;

color:#2563EB;

margin-top:8px;

font-weight:700;

}

.hero{

max-width:500px;

margin:50px auto;

background:rgba(255,255,255,.94);

backdrop-filter:blur(20px);

padding:45px;

border-radius:30px;

box-shadow:0 25px 60px rgba(15,23,42,.10);

}

.hero input{

height:58px;

font-size:17px;

border-radius:16px;

}

.hero button{

width:100%;

height:58px;

font-size:18px;

font-weight:700;

border-radius:16px;

background:linear-gradient(135deg,#2563EB,#3B82F6);

}

.hero button:hover{

transform:translateY(-2px);

box-shadow:0 15px 30px rgba(37,99,235,.30);

}
/* =========================
   PREMIUM ANIMATIONS
========================= */

.fade-up{

animation:fadeUp .6s ease both;

}

.hover-lift{

transition:all .3s ease;

}

.hover-lift:hover{

transform:translateY(-8px);

box-shadow:0 25px 50px rgba(15,23,42,.15);

}

.glass{

background:rgba(255,255,255,.85);

backdrop-filter:blur(18px);

border:1px solid rgba(255,255,255,.3);

}

@keyframes fadeUp{

0%{

opacity:0;

transform:translateY(25px);

}

100%{

opacity:1;

transform:translateY(0);

}

}

@keyframes pulseGlow{

0%{

box-shadow:0 0 0 rgba(37,99,235,.15);

}

50%{

box-shadow:0 0 30px rgba(37,99,235,.30);

}

100%{

box-shadow:0 0 0 rgba(37,99,235,.15);

}

}

.btn-primary{

animation:pulseGlow 3s infinite;

}