.tso-wrapper {
    border:1px solid #ddd;
    padding:20px;
    border-radius:8px;
    margin:20px 0;
    background:#fff;
}

.tso-form input {
    padding:8px;
    width:60%;
}
.tso-input{
	margin-bottom: 15px;
}

.tso-form button {
    padding:8px 15px;
    background:#0073aa;
    color:#fff;
    border:none;
    cursor:pointer;
}

.tso-activity {
    border-left:3px solid #0073aa;
    padding-left:10px;
    margin-bottom:10px;
}
.tso-summary {
    background:#f5f7fa;
    padding:20px;
    border-radius:8px;
    margin-bottom:20px;
}

.tso-summary h3 {
    margin:0 0 10px;
    color:#2c3e50;
}

.tso-milestones {
    display:flex;
    justify-content:space-between;
    margin:20px 0;
    position:relative;
}

.tso-step {
    text-align:center;
    flex:1;
    position:relative;
}

.tso-step .circle {
    width:16px;
    height:16px;
    background:#ccc;
    border-radius:50%;
    margin:0 auto 8px;
}

.tso-step.active .circle {
    background:#27ae60;
}

.tso-step span {
    font-size:12px;
}

.tso-timeline {
    border-left:2px solid #ddd;
    margin-top:20px;
    padding-left:20px;
}

.tso-timeline-item {
    position:relative;
    margin-bottom:20px;
}

.tso-timeline-item .dot {
    width:10px;
    height:10px;
    background:#27ae60;
    border-radius:50%;
    position:absolute;
    left:-26px;
    top:5px;
}

.tso-timeline-item .content {
    background:#fff;
    padding:10px;
    border-radius:6px;
    box-shadow:0 2px 6px rgba(0,0,0,0.05);
}

/* ===== SUMMARY CARD ===== */

.tso-summary {
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:#f4f6f9;
    padding:25px;
    border-radius:12px;
    margin-bottom:30px;
}

.tso-summary-left h3 {
    margin:0 0 10px;
    font-size:22px;
    font-weight:600;
}

.tso-summary-left p {
    margin:6px 0;
    font-size:14px;
}

.tso-awb-link {
    color:#2c7be5;
    text-decoration:none;
    font-weight:600;
}

.tso-awb-link:hover {
    text-decoration:underline;
}

/* ETA Badge Right Side */

.tso-summary-right {
    text-align:right;
}

.tso-eta-box {
    background:#e8f5e9;
    padding:15px 20px;
    border-radius:10px;
    text-align:center;
}

.tso-eta-box span {
    display:block;
    font-size:12px;
    color:#666;
}

.tso-eta-box strong {
    display:block;
    font-size:18px;
    color:#2e7d32;
}

/* ===== MILESTONES ===== */

.tso-milestones {
    position:relative;
    display:flex;
    justify-content:space-between;
    margin:40px 0 30px;
}

/* Base line */
.tso-milestones::before {
    content:'';
    position:absolute;
    top:8px;
    left:0;
    width:100%;
    height:3px;
    background:#ddd;
    z-index:0;
}

.tso-step {
    position:relative;
    text-align:center;
    flex:1;
    z-index:1;
}

.tso-step .circle {
    width:16px;
    height:16px;
    background:#ccc;
    border-radius:50%;
    margin:0 auto 8px;
    border:3px solid white;
}

.tso-step.active .circle {
    background:#27ae60;
}

.tso-step span {
    font-size:13px;
    color:#555;
}

.tso-result{
    margin-top: 30px;
}
.tso-btn {
    background-color: #41c6cc;
    border: 0;
    padding: 12px 30px;
    border-radius: 26px;
    font-family: var(--bzo-body_typo-font-family);
    color: #fff;
    text-transform: uppercase;
    font-size: 16px;
}
/* ===== LOADER ===== */

.tso-loader {
    display:flex;
    align-items:center;
    gap:12px;
    padding:20px;
    background:#f9fafb;
    border-radius:8px;
    font-size:14px;
    color:#555;
}

.tso-spinner {
    width:18px;
    height:18px;
    border:3px solid #ddd;
    border-top:3px solid #2c7be5;
    border-radius:50%;
    animation:tsoSpin 0.8s linear infinite;
}

@keyframes tsoSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}