.mb-page{max-width:960px;margin:40px auto 64px;padding:0 16px}
.mb-head{margin-bottom:20px}
.mb-head h1{font-family:"Playfair Display",Georgia,serif;font-size:26px;color:var(--brand-navy);margin-bottom:4px}
.mb-head p{color:#6b7385;font-size:14px;margin:0}

.mb-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid #eef1f6}
.mb-tab{
    display:inline-flex;align-items:center;gap:.4rem;
    padding:.7rem 1rem;font-weight:700;font-size:.86rem;color:#6b7789;
    border:none;border-bottom:2px solid transparent;background:none;margin-bottom:-1px;
    transition:color .15s ease,border-color .15s ease;
}
.mb-tab:hover{color:var(--brand-navy)}
.mb-tab.active{color:var(--brand-navy);border-bottom-color:var(--brand-navy)}
.mb-tab em{
    font-style:normal;background:var(--brand-navy-soft);color:var(--brand-navy);
    border-radius:999px;padding:.05rem .5rem;font-size:.72rem;
}
.mb-tab.active em{background:var(--brand-navy);color:#fff}

.mb-list{display:flex;flex-direction:column;gap:1rem}

.mb-card{
    display:flex;align-items:flex-start;gap:1rem;
    border:1px solid #eef1f6;border-radius:1rem;padding:1.1rem 1.25rem;
    transition:box-shadow .15s ease;
}
.mb-card:hover{box-shadow:0 10px 26px rgba(11,31,58,.08)}

.mb-card-icon{
    width:44px;height:44px;border-radius:.7rem;flex:none;
    background:var(--brand-navy-soft);color:var(--brand-navy);
    display:flex;align-items:center;justify-content:center;
}
.mb-card-icon .icon{width:20px;height:20px}

.mb-card-body{flex:1;min-width:0}
.mb-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.mb-card-title{font-family:"Playfair Display",Georgia,serif;font-size:1.05rem;color:var(--brand-navy)}
.mb-card-sub{font-size:.8rem;color:#8b95a5;margin-top:.15rem}
.mb-card-date{font-size:.82rem;color:#4b5565;margin-top:.5rem;display:flex;align-items:center;gap:.35rem}
.mb-card-date .icon{width:13px;height:13px;color:#9aa1b3}

.mb-card-amount{text-align:right;flex:none}
.mb-card-amount b{display:block;font-size:1.1rem;color:var(--brand-navy)}
.mb-card-amount span{font-size:.7rem;color:#8b95a5;text-transform:uppercase}

.mb-badge{
    display:inline-block;font-size:.66rem;font-weight:700;text-transform:uppercase;
    letter-spacing:.03em;padding:.25rem .6rem;border-radius:999px;
}
.mb-badge.upcoming{background:#e4f5e9;color:#2e7d46}
.mb-badge.cancelled{background:#fbeae7;color:#b3492f}
.mb-badge.other{background:#eef1f6;color:#4b5565}

.mb-card-actions{display:flex;gap:.6rem;margin-top:.85rem;flex-wrap:wrap}
.mb-btn{
    font-size:.78rem;font-weight:700;padding:.4rem .85rem;border-radius:.55rem;
    border:1px solid #dde3ec;color:var(--brand-navy);background:#fff;transition:all .15s ease;
}
.mb-btn:hover{background:var(--brand-navy);color:#fff;border-color:var(--brand-navy)}
.mb-btn.danger{color:#b3492f;border-color:#f3c9c0}
.mb-btn.danger:hover{background:#b3492f;color:#fff;border-color:#b3492f}

.mb-empty{text-align:center;padding:3.5rem 1.5rem;color:#6b7789;border:1px dashed #dde3ec;border-radius:1rem}
.mb-empty .icon{width:30px;height:30px;color:#b3b8c6;margin-bottom:.6rem}

@media (max-width:600px){
    .mb-card{flex-direction:column}
    .mb-card-amount{text-align:left}
}

/* Cancellation outcome — a cancel can be declined by the airline/property, and
   is always asynchronous, so the result is shown rather than assumed. */
.mb-notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 18px;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.5;
  border: 1px solid transparent;
}

.mb-notice .icon {
  width: 18px;
  height: 18px;
  flex: none;
  margin-top: 1px;
}

.mb-notice-ok {
  background: #eefbf3;
  border-color: #bfe8d0;
  color: #14663c;
}

.mb-notice-error {
  background: #fdf2f2;
  border-color: #f3c9c9;
  color: #9b1c1c;
}
