.neo-wh-wrap{max-width:980px;margin:0 auto;padding:10px}
.neo-wh-box{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px;margin:12px 0}
.neo-wh-table{width:100%;border-collapse:collapse;margin-top:8px}
.neo-wh-table th,.neo-wh-table td{border:1px solid #e5e7eb;padding:6px;text-align:left}
.row{display:flex;gap:12px;align-items:flex-start;margin:8px 0;flex-wrap:wrap}
.row.two > *{flex:1 1 300px}
.row.three > *{flex:1 1 200px}
.row .grow{flex:1 1 300px}
label{display:block;font-weight:600;margin-bottom:4px}
input[type=text],input[type=number],textarea,select{width:100%;padding:6px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}
select{appearance:auto;background:#fff}
.btn{background:#334155;border:none;color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer}
.btn.primary{background:#2563eb}
.btn.ghost{background:#64748b}
.input-with-btn{display:flex;gap:8px;align-items:center;width:100%}
.input-with-btn input{flex:1}

/* Notices */
#fe-rcpt-msg,#fe-line-msg,#fe-mov-msg{margin-left:10px}
.ok{color:#15803d}.err{color:#b91c1c}
.neo-wh-err{color:#b91c1c}

/* Autocomplete & datepicker visibility */
.ui-autocomplete{position:absolute;z-index:100001 !important;background:#fff;border:1px solid #cbd5e1;border-radius:8px;max-height:260px;overflow:auto;box-shadow:0 10px 25px rgba(2,6,23,.12)}
.ui-menu .ui-menu-item-wrapper{padding:6px 10px;cursor:pointer}
.ui-menu .ui-menu-item-wrapper.ui-state-active{background:#f1f5f9;color:#111827;border:0}
.ui-datepicker{z-index:100002 !important;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 10px 25px rgba(2,6,23,.12)}
.ui-datepicker .ui-state-active{background:#e2e8f0 !important;color:#111827 !important}

/* ======= Scanner overlay ======= */
#neo-scan-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:100003;display:none;align-items:center;justify-content:center}
#neo-scan-overlay.active{display:flex}
#neo-scan-box{position:relative;width:92vw;max-width:640px;aspect-ratio:3/4;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 25px 60px rgba(2,6,23,.4)}
#neo-scan-video{width:100%;height:100%;object-fit:cover}
.neo-scan-ui{position:absolute;left:0;right:0;bottom:0;display:flex;gap:8px;padding:8px;background:linear-gradient(transparent, rgba(0,0,0,.6));align-items:center}
.neo-scan-ui button,.neo-scan-ui select{border-radius:8px;border:1px solid #cbd5e1;padding:6px 10px;background:#fff}
.neo-scan-ui #neo-scan-hint{color:#fff;margin-left:auto;margin-right:6px}

/* FEFO banner */
.fe-fefo-banner{
  margin-top: .5rem;
  padding: .6rem .8rem;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  border-radius: .6rem;
  font-size: .95rem;
  line-height: 1.2;
}
.fe-fefo-banner .fefo-label{
  opacity: .7;
  margin-right: .4rem;
}
.fe-fefo-banner strong{ font-weight: 600; }

/* Toast */
#fe-toast{
  position: fixed; left:50%; bottom:16px; transform: translateX(-50%) translateY(8px);
  background:#111827; color:#fff; padding:10px 14px; border-radius:10px;
  font-size:14px; line-height:1.2; opacity:0; transition:.2s ease; z-index:9999;
  box-shadow: 0 6px 20px rgba(0,0,0,.25);
}
#fe-toast.show{ opacity:.98; transform: translateX(-50%) translateY(0); }
#fe-toast[data-type="error"]{ background:#b91c1c; }
#fe-toast[data-type="success"]{ background:#065f46; }
#fe-fefo-banner:empty { display:none; } /* ήδη προτεινόμενο */

/* -------------------------
   Responsive layout (portal, φόρμες, φίλτρα)
   ------------------------- */

/* Βασικό: μην μικραίνουμε παραπάνω τα fonts,
   απλά δώσε ανάσες και σπάσε τις σειρές */
@media (max-width: 1024px) {
  .neo-wh-wrap {
    max-width: 100%;
    padding: 8px;
  }

  .neo-wh-box {
    margin: 8px 0;
  }

  /* Portal grid: κάθε box σε δική του σειρά */
  #neo-wh-central-portal .neo-wh-portal-grid {
    flex-direction: column;
  }

  #neo-wh-central-portal .neo-wh-box {
    flex: 1 1 auto;
  }
}

/* Κινητά / μικρά tablets */
@media (max-width: 768px) {
  /* Φίλτρα (waves, bulk, receipts κλπ) να στοιχίζονται σε στήλη */
  .neo-wh-waves-filters,
  .neo-wh-bulk-filters {
    flex-direction: column;
    align-items: flex-start;
  }

  .neo-wh-waves-filters > *,
  .neo-wh-bulk-filters > * {
    width: 100%;
  }

  .neo-wh-waves-filters label,
  .neo-wh-bulk-filters label {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  /* Κουμπιά να πιάνουν πλάτος στην κινητή */
  .neo-wh-waves-filters .button,
  .neo-wh-bulk-filters .button,
  .neo-bulk-toolbar .button {
    width: 100%;
    text-align: center;
  }

  /* input / select πιο "δαχτυλο-friendly" */
  input[type=text],
  input[type=number],
  textarea,
  select {
    font-size: 15px;
    padding: 8px 10px;
  }
}

.neo-wh-bulk-table-wrap {
  width: 100%;
  overflow-x: auto;   /* οριζόντιο scroll αν δεν χωράει */
}

.neo-wh-bulk-table {
  min-width: 900px;   /* ή 1000px ανάλογα πόσες στήλες έχεις */
}

.neo-wh-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.neo-wh-waves-table {
  min-width: 700px;   /* προσαρμόζεις ανάλογα */
}

/* Optional: sticky header και εδώ */
.neo-wh-waves-table thead th {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 2;
}
