 <style>
    html, body { height:100%; margin:0 }
    .container-fluid { max-width:1100px }

    /* Package list */
    #packages { max-height: 55vh; overflow-y: auto; }
    .package-card { cursor:pointer; transition:transform .2s, box-shadow .2s; border-radius:10px; }
    .package-card:hover { transform:scale(1.02); box-shadow:0 4px 10px rgba(0,0,0,.1); }
    .package-card.active { border:2px solid #28a745; background:#e8f5e9; }
    .package-card .card-body { padding:.6rem .7rem; }
    .package-card .card-title { font-size: 1rem; margin:0; white-space:normal; overflow:visible; text-overflow:clip; line-height:1.25 }

    /* Inputs */
    input,select,button{font-size:1.05rem!important; padding:.7rem!important; border-radius:10px!important}
    .small-muted{font-size:.9rem;color:#6c757d}

    /* Scrollable itinerary table */
    .it-table-wrap { max-height: 65vh; overflow-y: auto; }
    .it-table-wrap thead th { position: sticky; top: 0; background: #f8f9fa; z-index: 2; }
    .table thead th, .table tbody td { vertical-align: middle; }

    @media (max-width:576px){ .package-card .card-title { font-size: .95rem; } }
  </style>