:root{ --bs-primary:#762124; }

/* Βασικά */
html, body { height:100%; }
body { background-color:#f8f9fa; font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; }
th{ position:sticky; top:0; background:var(--bs-body-bg); z-index:2; }
.page-header{ border-bottom:1px solid var(--bs-border-color); padding-bottom:.5rem; margin-bottom:1rem; }
.table-fixed{ table-layout:fixed; }
.wrap{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.form-label .text-muted{ cursor:help; }

/* Header/Footer */
header{
  background:linear-gradient(135deg,#762124 0%,#8e4257 100%);
  color:#fff; padding:2rem 0; text-align:center; margin-bottom:2rem;
}
footer{
  text-align:center; margin-top:40px; padding:18px; color:#fff;
  background:linear-gradient(135deg,#762124 0%,#8e4257 100%);
}

/* Κάρτες υπηρεσιών */
.service-box{ border:1px solid #eee; border-radius:12px; padding:16px; background:#fff; }
.service-icon{ font-size:2rem; }

/* Drop area */
.drop-area{
  border:2px dashed #ccc; padding:20px; text-align:center; margin-bottom:12px;
  cursor:pointer; border-radius:10px;
}
.drop-area.dragover{ background:#e9ecef; }

/* Όνομα αρχείου / βοηθητικά */
.filename{ font-size:.85rem; color:#666; }
#alert-box{ position:fixed; top:12px; left:50%; transform:translateX(-50%); z-index:1050; max-width:92vw; }
#alert-box.hidden{ display:none; }
#alert-inner .alert-actions{ margin-left:12px; white-space:nowrap; }

/* AUEB brand κουμπιά */
.btn-primary{ background-color:#762124; border-color:#762124; }
.btn-primary:hover{ background-color:#5e1b1e; border-color:#5e1b1e; }

/* Loading overlay */
.loading-overlay{
  position:fixed; inset:0; display:none; align-items:center; justify-content:center;
  background:rgba(255,255,255,.75); z-index:9999; backdrop-filter:blur(2px);
}
.loading-overlay.show{ display:flex; }
.spinner{
  width:56px; height:56px; border-radius:50%;
  border:6px solid #ddd; border-top-color:#762124; animation:spin 1s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg) } }
.loading-text{ margin-top:12px; color:#333; font:500 14px system-ui; }

/* === FIX: highlight όταν έχει επιλεγεί αρχείο === */
.service-box.has-file{
  border-color:#198754;
  box-shadow:0 0 0 3px rgba(25,135,84,.15);
  transform:translateY(-1px);
  transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.service-box.has-file .drop-area{
  background:#f1f9f4;
  border-color:#198754;
}

/* Pills για πολλά αρχεία */
.file-pills{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
.file-pills .pill{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 8px; border:1px solid #ddd; border-radius:999px;
  font-size:.85rem; background:#f8f9fa;
}
.file-pills .pill .remove{
  border:none; background:transparent; cursor:pointer; line-height:1;
}

/* Progress bar για AJAX uploads */
.progress-holder{
  height:4px; background:#eee; border-radius:999px; overflow:hidden; margin-top:8px; display:none;
}
.progress-holder .bar{ height:100%; width:0; }
.ajax-form.uploading .progress-holder{ display:block; }
.ajax-form.uploading button[type="submit"]{ pointer-events:none; opacity:.7; }

/* Info dot (tooltip trigger) */
.form-label .text-muted[role="button"]{ cursor:help; }
.info-dot{
  display:inline-flex; align-items:center; justify-content:center;
  width:18px; height:18px; border-radius:50%;
  font-size:12px; line-height:1; color:#fff; background:#6b1406;
  margin-left:.4rem; cursor:help;
}
