/* ----- Scoped styles for the IPO widget ----- */
.ipo-widget .ipo-toolbar { margin-bottom: 12px; text-align: center; }

.ipo-widget .btn {
  padding: 10px 18px;
  margin: 0 4px 8px 0;
  border: 1px solid #ccc;
  background: #fff;
  color: #333;
  cursor: pointer;
  border-radius: 6px;
  font-weight: 500;
  box-shadow: 0 2px 5px rgba(0,0,0,0.08);
  transition: all 0.25s ease-in-out;
}
.ipo-widget .btn:hover { transform: translateY(-2px); }
.ipo-widget .btn.active[data-value="active"]   { background:#90ee90; border-color:#6dc36d; }
.ipo-widget .btn.active[data-value="upcoming"] { background:#ffd580; border-color:#e6a94c; }
.ipo-widget .btn.active[data-value="closed"]   { background:#f8a8a8; border-color:#e07373; }
.ipo-widget .btn.active[data-value="listed"],
.ipo-widget .btn.active[data-value="all"],
.ipo-widget .btn.active[data-value="mainboard"],
.ipo-widget .btn.active[data-value="sme"]      { background:#0073aa; color:#fff; border-color:#0073aa; }

.ipo-widget { overflow-x: hidden; }
.ipo-widget .table-wrap { width:100%; overflow-x:hidden; }
.ipo-widget table { border-collapse:separate; border-spacing:0; width:100%; margin-top:15px;
  font-family:Arial,sans-serif; font-size:14px; box-shadow:0 4px 12px rgba(0,0,0,0.05); border-radius:10px; table-layout:auto; }
.ipo-widget th {
  background:linear-gradient(135deg,#0073aa,#005f8d); color:#fff; text-transform:uppercase; padding:12px;
  font-size:13px;
}
.ipo-widget td { padding:12px; background:#fff; color:#333; }
.ipo-widget tr:nth-child(even) td { background:#f9fafc; }
.ipo-widget tr:hover td { background:#eaf6ff; transition:background .3s; }

.ipo-widget .dataTables_wrapper { width:100%; overflow-x:hidden; }
.ipo-widget .dataTables_filter {
  float:right; text-align:right; margin-bottom:10px; max-width:100%;
}
.ipo-widget .dataTables_filter label {
  display:flex; align-items:center; justify-content:flex-end; gap:8px; margin:0; flex-wrap:wrap;
  max-width:100%;
}
.ipo-widget .dataTables_filter input {
  width: clamp(160px, 28vw, 260px);
  max-width:100%;
  box-sizing:border-box;
}

.ipo-widget table.dataTable.nowrap th,
.ipo-widget table.dataTable.nowrap td {
  white-space: normal !important;
}

/* ----- Mobile card style ----- */
@media (max-width: 768px) {
  .ipo-widget .dataTables_filter { float:none; text-align:left; }
  .ipo-widget .dataTables_filter label { justify-content:flex-start; }
  .ipo-widget .dataTables_filter input { width:100% !important; }

  .ipo-widget table,
  .ipo-widget thead,
  .ipo-widget tbody,
  .ipo-widget th,
  .ipo-widget td,
  .ipo-widget tr { display: block; width: 100%; }

  .ipo-widget thead { display: none; }

  .ipo-widget tr {
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    background: #fff;
  }

  .ipo-widget td {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px;
    padding: 6px 8px;
    border: none !important;
  }

  .ipo-widget td::before {
    content: attr(data-label);
    font-weight: bold;
    color: #0073aa;
    text-align: left;
  }

  .ipo-widget td:last-child { border-bottom: none; }
}

/* Last updated text */
.ipo-widget .ipo-last-updated {
  margin-top:8px; font-size:12px; color:#666; text-align:right;
}

