/* ------------------------ LOGIN ------------------------ */
body.login-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh; /* 🔥 Κεντρικό fix */
  background: #f6f7f9;
  padding: 20px;
}

.login-wrapper {
  width: 100%;
  max-width: 360px;
  background: #fff;
  padding: 32px;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.login-wrapper h1 {
  text-align: center;
  margin-bottom: 24px;
  font-size: 20px;
  font-weight: 600;
}

.login-wrapper form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.login-wrapper input {
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
}

.login-wrapper button {
  background: #1966a4;
  color: #fff;
  border: none;
  padding: 10px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  transition: background 0.2s ease;
}

.login-wrapper button:hover {
  background: #3091df;
}

.error {
  background: #fee2e2;
  color: #991b1b;
  border: 1px solid #fecaca;
  padding: 8px;
  border-radius: 6px;
  margin-bottom: 12px;
  text-align: center;
  font-size: 13px;
}

/* ==========================================
   VERTICAL SIDEBAR MENU (NEW FINAL VERSION)
   ========================================== */

.vertical-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 25%; /* ΣΤΑΘΕΡΟ – όχι % */
  height: 100vh;
  background-color: #1966a4;
  padding-top: 20px;
  z-index: 1000;
  overflow-y: auto;
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15);
}

.vertical-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.vertical-menu li {
  text-align: center;
}

.vertical-menu li a {
  display: block;
  padding: 14px 16px;
  text-decoration: none;
  color: #fff;
  font-size: 17px;
  font-weight: 500;
  transition: all 0.3s ease;
}

.vertical-menu li a:hover {
  background-color: #3091df;
}

/* DROPDOWN ARROW */
.vertical-menu li.has-children > a::after {
  content: "▾";
  font-size: 14px;
  margin-left: 8px;
  color: #fff;
  transition: transform 0.2s ease;
}

/* OPEN STATE */
.vertical-menu li.open > a::after {
  transform: rotate(180deg);
}

/* SUBMENU */
.vertical-menu li ul {
  display: none;
  background-color: #3091df;
  padding-left: 0;
}

.vertical-menu li.open > ul {
  display: block;
  animation: fadeIn 0.3s ease;
}

.vertical-menu li ul li a:hover {
  background-color: #e0e6ea;
  color: #1966a4;
}

/* Animation */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* CONTENT SHIFT */
.body-with-menu {
  margin-left: 25%;
}

/* =============================
   SECTION: ΤΑΜΕΙΟ
   ============================= */
.section-tameio {
    padding: 20px;
    max-width: 600px;
    margin: 0 auto;
}

.section-tameio h2 {
    font-size: 22px;
    margin-bottom: 20px;
    color: #0d2c54;
    font-weight: 600;
}

/* --- FORM --- */
.tameio-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    background: #ffffff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.1);
}

.tameio-form label {
    font-weight: 600;
    color: #0d2c54;
}

.tameio-form input,
.tameio-form select {
    padding: 10px;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    font-size: 15px;
    outline: none;
}

.tameio-form input:focus,
.tameio-form select:focus {
    border-color: #1966a4;
}

/* --- BUTTONS --- */
.tameio-form button.btn,
.btn {
    background: #1966a4;
    color: #fff;
    border: none;
    padding: 12px 20px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 15px;
    transition: 0.2s;
}

.btn:hover {
    background: #145485;
}

.btn-secondary {
    background: #e8f1ff;
    color: #1966a4;
    border: 1px solid #1966a4;
}

.btn-secondary:hover {
    background: #d6e8ff;
}

/* --- SUCCESS BOX --- */
.success-box {
    background: #e9fbe9;
    padding: 25px;
    border-radius: 10px;
    text-align: center;
    border: 1px solid #b9e4b9;
    margin-top: 20px;
    font-size: 16px;
}

/* --- ERROR MESSAGE --- */
.form-error {
    color: #d10000;
    background: #ffeaea;
    padding: 12px;
    border-radius: 8px;
    margin-bottom: 15px;
    border: 1px solid #ffbcbc;
}
/* ==========================================
   SECTION: ΤΑΜΕΙΟ - ΣΥΓΚΕΝΤΡΩΤΙΚΑ
   ========================================== */

.section-tameio-sum {
    max-width: 600px;
    padding: 20px;
    margin: 0 auto;
}

.section-tameio-sum h2 {
    font-size: 22px;
    margin-bottom: 25px;
    font-weight: 600;
    color: #0d2c54;
}

/* FORM STYLING */
.tameio-sum-form {
    background: #ffffff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.tameio-sum-form .form-row {
    display: flex;
    flex-direction: column;
}

.tameio-sum-form label {
    font-weight: 600;
    margin-bottom: 5px;
    color: #0d2c54;
}

.tameio-sum-form input[type="date"] {
    padding: 10px;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    font-size: 15px;
}

.tameio-sum-form input[type="date"]:focus {
    border-color: #1966a4;
}

/* RESULT BOX */
.tameio-sum-result {
    margin-top: 25px;
    background: #f0f8ff;
    border-left: 4px solid #1966a4;
    padding: 15px 20px;
    border-radius: 8px;
    font-size: 16px;
}

.tameio-sum-result strong {
    color: #1966a4;
}
/* ==========================================
   SECTION: ΠΙΣΤΩΣΕΙΣ
   ========================================== */

.section-pistoseis {
    padding: 20px;
    max-width: 900px;
    margin: 0 auto;
}

.section-pistoseis h2 {
    font-size: 22px;
    margin-bottom: 15px;
    color: #0d2c54;
    font-weight: 600;
}

.pistoseis-info {
    font-size: 14px;
    color: #555;
    margin-bottom: 15px;
}

/* TABLE WRAPPER */
.pistoseis-table-wrapper {
    background: #ffffff;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.1);
}

/* TABLE */
.pistoseis-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.pistoseis-table th {
    background: #1966a4;
    color: #fff;
    padding: 10px;
    text-align: left;
}

.pistoseis-table td {
    border: 1px solid #e3e3e3;
    padding: 10px;
}

.pistoseis-table tr:nth-child(even) {
    background: #f7f9fb;
}

.table-right {
    text-align: right;
}

.table-empty {
    text-align: center;
    padding: 25px;
    color: #777;
}
/* ==========================================
   SECTION: ADD NOTES
   ========================================== */
.section-add-notes {
    max-width: 700px;
    margin: 0 auto;
    padding: 20px;
}

.section-add-notes h2 {
    font-size: 22px;
    margin-bottom: 20px;
    color: #0d2c54;
    font-weight: 600;
}

/* FORM */
.notes-form {
    background: #ffffff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.notes-form select,
.notes-form textarea {
    width: 100%;
    padding: 12px;
    font-size: 15px;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
}

.notes-form textarea {
    height: 140px;
    resize: vertical;
}

.notes-form select:focus,
.notes-form textarea:focus {
    border-color: #1966a4;
}

/* CANCEL LINK */
.btn-cancel {
    margin-left: 5px;
    color: #1966a4;
    text-decoration: none;
    font-weight: 600;
}

.btn-cancel:hover {
    text-decoration: underline;
}

/* SUCCESS BOX */
.success-box {
    background: #e9fbe9;
    padding: 25px;
    border-radius: 10px;
    border-left: 4px solid #3bb54a;
    text-align: center;
    margin-top: 20px;
}
/* ==========================================
   SECTION: NOTES
   ========================================== */

.section-notes {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
}

/* Header row */
.notes-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.notes-header h2 {
    font-size: 22px;
    color: #0d2c54;
    font-weight: 600;
}

/* Add button */
.notes-add-btn {
    background: #5cb85c;
    color: #fff;
    padding: 10px 16px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
}

.notes-add-btn:hover {
    background: #4cae4c;
}

/* Table wrapper */
.notes-table-wrapper {
    background: #ffffff;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.1);
}

/* Table */
.notes-table {
    width: 100%;
    border-collapse: collapse;
}

.notes-table th {
    background: #1966a4;
    color: #fff;
    padding: 10px;
    text-align: left;
    font-size: 14px;
}

.notes-table td {
    border: 1px solid #e3e3e3;
    padding: 10px;
    vertical-align: top;
    font-size: 14px;
}

.notes-table tr:nth-child(even) {
    background: #f7f9fb;
}

/* Delete button */
.btn-delete {
    background: #d9534f;
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    padding: 6px 10px;
    font-size: 15px;
}

.btn-delete:hover {
    background: #c9302c;
}

.notes-actions {
    text-align: center;
}
/* ==========================================
   LOYALTY – SEARCH PAGE
   ========================================== */

.section-loyalty-search {
    max-width: 700px;
    margin: 0 auto;
    padding: 20px;
}

/* SUCCESS BOX */
.loyalty-success-box {
    max-width: 600px;
    margin: 20px auto;
    background: #e8fff1;
    border: 1px solid #89d4a2;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    color: #257a3e;
    font-weight: 600;
}

/* SEARCH BOX */
.loyalty-search-box {
    max-width: 500px;
    margin: 30px auto;
    background: #fff;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

.loyalty-search-box h2 {
    text-align: center;
    margin-bottom: 20px;
}

.loyalty-search-box input[type="text"] {
    width: 100%;
    padding: 12px;
    border: 1px solid #bbb;
    border-radius: 8px;
    margin-bottom: 15px;
    font-size: 16px;
}

/* TOP 5 TABLE */
.loyalty-top-table-wrapper {
    max-width: 600px;
    margin: 40px auto;
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.1);
}

.loyalty-top-table-wrapper h3 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 18px;
}

.loyalty-top-table {
    width: 100%;
    border-collapse: collapse;
}

.loyalty-top-table th {
    background: #1966a4;
    color: white;
    padding: 10px;
    text-align: center;
}

.loyalty-top-table td {
    border: 1px solid #ddd;
    padding: 10px;
    text-align: center;
    font-size: 15px;
}

.loyalty-top-table tr:nth-child(even) {
    background: #f7f9fb;
}
/* ==========================================
   LOYALTY – ACTIONS PAGE
   ========================================== */

.section-loyalty-actions {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}

.actions-box {
    background: #ffffff;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

.actions-box h2 {
    font-size: 22px;
    margin-bottom: 20px;
    color: #0d2c54;
    font-weight: 600;
}

/* SUCCESS / ERROR BOX */
.action-msg {
    background: #e8fff1;
    border: 1px solid #89d4a2;
    color: #257a3e;
    padding: 12px;
    text-align: center;
    border-radius: 8px;
    margin-bottom: 20px;
    font-weight: 600;
}

/* SECTIONS */
.action-section {
    border: 1px solid #e1e1e1;
    background: #fafafa;
    padding: 20px;
    margin-top: 25px;
    border-radius: 10px;
}

.action-section h3 {
    margin-bottom: 15px;
    font-size: 18px;
    font-weight: 600;
    color: #0d2c54;
}

/* FORMS */
.addpoints-form,
.social-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.addpoints-form input[type="number"] {
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #bbb;
}

.no-social {
    text-align: center;
    color: #777;
    font-size: 14px;
}

/* BUTTONS */
.action-btn {
    width: 100%;
    padding: 10px;
    border-radius: 8px;
    font-weight: 600;
    background: #1966a4;
    color: white;
    border: none;
    cursor: pointer;
    transition: 0.2s;
}

.action-btn:hover {
    opacity: 0.85;
}

.back-link {
    text-align: center;
    margin-top: 25px;
}
/* ================================
   LOYALTY – REDEEM PANEL
   ================================ */

.section-loyalty-redeem {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}

.redeem-panel {
    background: white;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.redeem-panel h2 {
    text-align: center;
    font-size: 22px;
    color: #0d2c54;
    font-weight: 600;
    margin-bottom: 20px;
}

.redeem-msg {
    background: #e8fff1;
    border: 1px solid #89d4a2;
    color: #257a3e;
    padding: 12px;
    border-radius: 8px;
    text-align: center;
    margin-bottom: 20px;
    font-weight: 600;
}

/* SECTION BLOCKS */
.redeem-section {
    background: #fafafa;
    border: 1px solid #dedede;
    padding: 20px;
    border-radius: 10px;
    margin-top: 25px;
}

.redeem-section h3 {
    margin-bottom: 12px;
    font-size: 18px;
    color: #0d2c54;
}

.points-available {
    color: green;
    font-weight: 700;
}

/* COUPON BUTTON */
.redeem-btn {
    width: 100%;
    padding: 12px;
    border-radius: 10px;
    background: #1966a4;
    color: white;
    border: none;
    cursor: pointer;
    font-weight: 600;
    margin-top: 10px;
    transition: 0.2s;
}

.redeem-btn:hover {
    opacity: 0.85;
}

.redeem-none {
    text-align: center;
    color: #777;
    font-size: 14px;
    padding: 15px;
}

.redeem-back {
    text-align: center;
    margin-top: 25px;
}
/* IDIOTES — ADD ORDERS */
.idiotes-add-wrapper {
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;
}

.idiotes-add-form {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 5px 14px rgba(0,0,0,0.08);
    border: 1px solid #ddd;
}

.idiotes-add-form label {
    font-weight: 600;
    margin-top: 12px;
    display: block;
}

.idiotes-add-form input,
.idiotes-add-form select {
    width: 100%;
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #bbb;
}

.section-title {
    margin-top: 25px;
    margin-bottom: 10px;
    color: #0d2c54;
    font-size: 18px;
    font-weight: 600;
}

.idiotes-items-grid {
    display: grid;
    grid-template-columns: 1fr 80px;
    gap: 12px 10px;
}

.item-row {
    display: contents;
}

.btn-primary {
    background: #1966a4;
    color: #fff;
    border: none;
    width: 100%;
    padding: 12px 16px;
    border-radius: 8px;
    margin-top: 25px;
    font-size: 16px;
    cursor: pointer;
    font-weight: 600;
}

.btn-primary:hover {
    opacity: 0.85;
}

.alert-success {
    background: #e9fbe9;
    border: 1px solid #1a7e1a;
    color: #1a7e1a;
    padding: 12px;
    border-radius: 8px;
    margin-bottom: 15px;
}

.alert-error {
    background: #ffecec;
    border: 1px solid #b10000;
    color: #b10000;
    padding: 12px;
    border-radius: 8px;
    margin-bottom: 15px;
}

.delivery-fields.hidden {
    display: none;
}
.customer-view-wrapper {
    padding: 20px;
}

.page-title {
    font-size: 22px;
    color: #1966a4;
    margin-bottom: 10px;
    font-weight: 700;
}

.btn-back {
    display: inline-block;
    background: #1966a4;
    color: #fff;
    padding: 6px 12px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    margin-bottom: 10px;
}

.customer-items-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
    background: #fff;
}

.customer-items-table th,
.customer-items-table td {
    padding: 8px;
    border: 1px solid #ddd;
    text-align: center;
    font-size: 14px;
}

.customer-items-table thead {
    background: #1966a4;
    color: white;
}

.status-badge {
    padding: 6px 10px;
    border-radius: 8px;
    color: white;
    font-weight: 600;
    display: inline-block;
}

.status-Αναμονή { background: #f1c40f; }
.status-Έτοιμο { background: #27ae60; }
.status-Παραδόθηκε { background: #9b59b6; }

.btn-action {
    padding: 6px 10px;
    border: none;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    font-weight: 500;
}

.btn-ready { background: #27ae60; }
.btn-done { background: #9b59b6; }
.hotel-add-wrapper {
    max-width: 700px;
    margin: 20px auto;
    padding: 20px;
}

.hotel-add-form label {
    font-weight: 600;
    margin-top: 10px;
    display: block;
}

.hotel-add-form input,
.hotel-add-form select {
    width: 100%;
    padding: 8px 10px;
    border-radius: 6px;
    border: 1px solid #ccc;
    margin-bottom: 10px;
}

.section-title {
    font-size: 18px;
    font-weight: 700;
    color: #1966a4;
    margin: 15px 0 5px 0;
}

.alert-success {
    background: #e9fbe9;
    border: 1px solid #86efac;
    color: #166534;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.btn-primary {
    background: #1966a4;
    color: #fff !important;
    border: none;
    padding: 10px 14px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    display: inline-block;
}
/* === ANALYSIS WHITE MAIN STYLE === */

.analysis-white-wrapper {
    padding: 20px;
}

.page-title {
    font-size: 22px;
    font-weight: 700;
    color: #1966a4;
    margin-bottom: 20px;
}

/* Form */
.analysis-form {
    max-width: 450px;
    background: #fff;
    padding: 18px 20px;
    border-radius: 10px;
    border: 1px solid #ccc;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.analysis-form .form-row {
    margin-bottom: 15px;
}

.analysis-form label {
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.analysis-form select {
    width: 100%;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid #999;
}

.btn-primary {
    width: 100%;
    background: #1966a4;
    color: white;
    padding: 10px 16px;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 10px;
}
.btn-primary:hover {
    background: #1f79c8;
}

/* Table */
.analysis-table-wrapper {
    margin-top: 25px;
}

.analysis-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.analysis-table th,
.analysis-table td {
    border: 1px solid #b1bfc6;
    padding: 10px;
    text-align: center;
}

.analysis-table thead th {
    background: #1966a4;
    color: white;
}

.analysis-table tbody tr:nth-child(even) {
    background: #eef2f5;
}

/* Total Row */
.total-row {
    background: #dce4ea;
}

.total-label {
    text-align: right;
    font-weight: 700;
    padding-right: 12px;
}

.total-value {
    font-weight: 700;
    color: #0d4d85;
}

/* No results */
.no-results {
    padding: 14px;
    background: #ffecec;
    border: 1px solid #ffb5b5;
    border-radius: 6px;
    color: #a10000;
    font-weight: 600;
    margin-top: 15px;
}

/* Print button */
.btn-secondary {
    background: #3091df;
    color: #fff;
    padding: 10px 16px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    margin-top: 18px;
    font-weight: 600;
}
.btn-secondary:hover {
    background: #1966a4;
}
.hotel-title {
    text-align: center;
}

.notes-section {
    margin-top: 30px;
}

.notes-title {
    color: red;
}

.note-text {
    color: #d9534f;
    font-weight: bold;
}

.no-notes,
.no-data {
    color: #777;
}

/* delete button */
.delete-note-btn {
    background: #d9534f;
    color: white;
    border: none;
    padding: 5px 10px;
    border-radius: 5px;
    cursor: pointer;
}
/* ============================
   CUSTOMER TAB – TABLE STYLES
   ============================ */
.customer-tab table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
  background: #fff;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.customer-tab th {
  background: #1966a4;
  color: #fff;
  padding: 10px;
  text-align: left;
}

.customer-tab td {
  padding: 10px;
  border: 1px solid #b1bfc6;
}

.customer-tab tbody tr:nth-child(even) {
  background: #e0e6ea;
}

/* Delete button (notes table) */
.customer-tab .delete-note-btn {
  background: #d9534f;
  color: white;
  border: none;
  padding: 5px 10px;
  border-radius: 5px;
  cursor: pointer;
  transition: 0.2s;
}

.customer-tab .delete-note-btn:hover {
  background: #c9302c;
}

/* Main buttons */
.customer-tab button,
.customer-tab .btn-primary {
  background: #1966a4;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 8px 18px;
  cursor: pointer;
  transition: 0.3s;
}

.customer-tab button:hover,
.customer-tab .btn-primary:hover {
  background: #3091df;
}

/* Notes highlight */
.customer-tab .note-text {
  color: #d9534f;
  font-weight: bold;
}

/* Empty text */
.customer-tab .empty-info {
  color: #777;
}

/* Section spacing */
.customer-tab section {
  margin-top: 30px;
}
/* ==========================================
   EDIT HOTEL PAGE (DESKTOP)
   ========================================== */

.edit-hotel {
    padding-bottom: 40px;
}

/* Error + Success boxes */
.edit-hotel .error-box,
.edit-hotel .success-box {
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 20px;
}

.edit-hotel .error-box {
    background: #fee2e2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.edit-hotel .success-box {
    background: #e9fbe9;
    border: 1px solid #86efac;
    color: #166534;
}

/* Titles */
.edit-hotel h3.hotel-name-title {
    color: #1966a4;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 15px;
}

.edit-hotel h3.price-title {
    color: #1966a4;
    font-size: 16px;
    font-weight: 600;
    margin: 25px 0 10px 0;
}

/* Link box */
.edit-hotel .hotel-link-box {
    margin-bottom: 15px;
}

.edit-hotel .hotel-link-box a {
    color: #1966a4;
    font-weight: 600;
    text-decoration: none;
}

.edit-hotel .hotel-link-box a:hover {
    text-decoration: underline;
}

/* Form styling (inherited from global but reinforced here) */
.edit-hotel form {
    margin-top: 20px;
}

.edit-hotel label {
    font-weight: 600;
    margin-top: 10px;
    display: block;
}

.edit-hotel input[type="text"],
.edit-hotel input[type="email"],
.edit-hotel input[type="number"],
.edit-hotel select {
    width: 100%;
    padding: 10px;
    margin-top: 4px;
    margin-bottom: 12px;
    border: 1px solid #ccd5dd;
    border-radius: 6px;
}

.edit-hotel button {
    background: #1966a4;
    color: white;
    border: none;
    padding: 10px 18px;
    border-radius: 6px;
    cursor: pointer;
    margin-top: 10px;
}

.edit-hotel button:hover {
    background: #3091df;
}
/* ==========================================
   WHITE FORM PAGE – DESKTOP
   ========================================== */

.white-form-page h2 {
    margin-bottom: 20px;
}

.white-form-page .success-box,
.white-form-page .error-box {
    padding: 20px;
    border-radius: 8px;
    margin-top: 20px;
    text-align: center;
}

.white-form-page .success-box {
    background: #e9fbe9;
    border: 1px solid #86efac;
    color: #166534;
}

.white-form-page .error-box {
    background: #fee2e2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.white-form label {
    font-weight: 600;
    margin-top: 10px;
    display: block;
}

.white-form input[type="number"],
.white-form select {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccd5dd;
    border-radius: 6px;
    margin-bottom: 12px;
}

.white-form button {
    background: #1966a4;
    color: white;
    border: none;
    padding: 10px 18px;
    border-radius: 6px;
    cursor: pointer;
    margin-top: 10px;
}

.white-form button:hover {
    background: #3091df;
}
/* ==========================================
   REPORTS MONTHLY – DESKTOP
   ========================================== */

.reports-monthly-page h2 {
    margin-bottom: 25px;
    color: #1966a4;
}

.reports-title {
    margin-top: 40px;
    margin-bottom: 15px;
    color: #1966a4;
}

.reports-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    margin-bottom: 40px;
}

.reports-table th,
.reports-table td {
    border: 1px solid #ccc;
    padding: 6px 8px;
    text-align: center;
    font-size: 14px;
    white-space: nowrap;
}

.reports-table th {
    background: #1966a4;
    color: white;
}

.reports-table tr:nth-child(even) {
    background: #f9f9f9;
}

.reports-table .hotel-name {
    text-align: left;
    font-weight: 600;
}
/* ==========================================
   UPLOAD INVOICE – DESKTOP
   ========================================== */

.upload-invoice-page {
    max-width: 600px;
    margin: 0 auto;
}

.upload-title {
    margin-bottom: 20px;
    color: #1966a4;
}

.upload-form label {
    font-weight: 600;
    margin-top: 10px;
    display: block;
}

.upload-form select,
.upload-form input[type="file"] {
    width: 100%;
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #b1bfc6;
    border-radius: 6px;
}

.upload-form button {
    background: #1966a4;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 12px 18px;
    cursor: pointer;
    margin-top: 20px;
}

.upload-form button:hover {
    background: #3091df;
}

.invoice-msg {
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 20px;
}

.invoice-msg.success {
    background: #e9fbe9;
    border: 1px solid #86efac;
    color: #166534;
}

.invoice-msg.error {
    background: #fee2e2;
    border: 1px solid #fecaca;
    color: #991b1b;
}
/* ================================
   HOMEPAGE WRAPPER
================================ */
/* ================================
   HOMEPAGE WRAPPER
================================ */
.homepage-wrapper {
    padding: 20px;
    font-family: "Segoe UI", sans-serif;
}

/* ================================
   TITLES
================================ */
.homepage-wrapper h1 {
    font-size: 24px;
    color: #1966a4;
    margin-bottom: 20px;
}

.homepage-wrapper h2 {
    margin-top: 20px;
    color: #333;
}

/* ================================
   BUTTONS (GLOBAL WITHIN HOMEPAGE)
================================ */
.homepage-wrapper .action-btn {
    padding: 6px 10px;
    border-radius: 6px;
    border: none;
    color: #fff;
    cursor: pointer;
    font-weight: 500;
    margin: 2px;
    transition: 0.2s;
}
.homepage-wrapper .btn-ready { background: #27ae60; }
.homepage-wrapper .btn-sms { background: #3498db; }
.homepage-wrapper .btn-done { background: #9b59b6; }
.homepage-wrapper .btn-storage { background: #d11f8d; }

.homepage-wrapper .action-btn:hover {
    opacity: 0.8;
}

/* ================================
   TABS + SEARCH
================================ */
.homepage-wrapper .tabs {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.homepage-wrapper .tab {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 6px;
    cursor: pointer;
    background: #eee;
    margin-right: 5px;
    font-size: 14px;
}

.homepage-wrapper .tab.active {
    background: #1966a4;
    color: white;
}

/* SEARCH BAR */
.homepage-wrapper .search-bar {
    margin-left: auto;
}

.homepage-wrapper .search-bar input {
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid #ccc;
    width: 240px;
}

/* ================================
   TABLE WRAPPER
================================ */
.homepage-wrapper .table-wrapper {
    overflow-x: auto;
    width: 100%;
}

/* ================================
   TABLE STYLE
================================ */
.homepage-wrapper table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
    background: #fff;
}

.homepage-wrapper th,
.homepage-wrapper td {
    padding: 10px;
    border: 1px solid #ddd;
    text-align: center;
}

.homepage-wrapper thead {
    background: #1966a4;
    color: #fff;
}

.homepage-wrapper tbody tr:nth-child(even) {
    background: #f4f8fb;
}

.homepage-wrapper tbody tr:hover {
    background: #e1eff9;
}

/* ================================
   STATUS BADGES
================================ */
.homepage-wrapper .status-badge {
    padding: 6px 10px;
    border-radius: 8px;
    color: white;
    font-weight: 600;
    display: inline-block;
}

.homepage-wrapper .status-Αναμονή    { background: #f1c40f; }
.homepage-wrapper .status-Έτοιμο      { background: #27ae60; }
.homepage-wrapper .status-SMS_Εστάλη  { background: #3498db; }
.homepage-wrapper .status-Παραδόθηκε  { background: #9b59b6; }
.homepage-wrapper .status-Φύλαξη      { background: #d11f8d; }

/* Awaiting SMS text */
.homepage-wrapper .await-sms {
    color: #3498db;
    font-weight: 600;
}

/* ================================
   ANIMATION
================================ */
.homepage-wrapper .fade-out {
    opacity: 0;
    transition: opacity 0.5s ease-out;
}

/* ============================
   BOXES PANEL STYLE
   ============================ */

/* Page title */
.page-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 25px;
    color: #1966a4;
}

/* Section titles (Κουτιά / Ενεργές χρήσεις) */
.boxes-title, .panel-title {
    font-size: 22px;
    font-weight: 600;
    margin: 25px 0 12px 0;
    color: #333;
}

/* Main table */
.boxes-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    font-size: 15px;
}

.boxes-table thead tr {
    background: #1966a4;
    color: #fff;
}

.boxes-table th,
.boxes-table td {
	text-align: center;
    padding: 12px 14px;
    border-bottom: 1px solid #ddd;
}

.boxes-table tbody tr:hover {
    background: #f5faff;
}

/* Status flags */
.status-free {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    background: #e6ffe6;
    color: #0f7b0f;
    font-weight: 600;
    border: 1px solid #98e698;
}

.status-used {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    background: #ffe6e6;
    color: #b30000;
    font-weight: 600;
    border: 1px solid #ffb3b3;
}

/* Buttons */
.btn {
    padding: 8px 14px;
    display: inline-block;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
}

.btn-reset {
    background: #d9534f;
    color: white;
    border: none;
}

.btn-reset:hover {
    background: #c9302c;
}

.btn.disabled {
    background: #ccc;
    color: #fff;
    cursor: not-allowed;
}
.notes-modal {
    display: none;
    position: fixed;
    z-index: 999999;
    inset: 0;
    background: rgba(0,0,0,0.6);
}

.notes-content {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    width: 90%;
    max-width: 420px;
    margin: 10% auto;
    position: relative;
    font-size: 16px;
}

.notes-content .close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 24px;
    cursor: pointer;
}
/* ============================
   AITIMA PROSFORAS FORM STYLE
   ============================ */

.aitima-wrapper {
    width: 100%;
    max-width: 650px;
    margin: 0 auto;
    background: #fff;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 0 15px rgba(0,0,0,0.08);
    margin-top: 20px;
}

.aitima-wrapper h2 {
    margin-bottom: 25px;
    text-align: center;
    color: #1966a4;
    font-size: 26px;
    font-weight: 700;
}

.aitima-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.aitima-form label {
    font-weight: bold;
    color: #333;
}

.aitima-form input,
.aitima-form select {
    width: 100%;
    padding: 14px;
    font-size: 15px;
    border: 1px solid #ccc;
    border-radius: 6px;
    box-sizing: border-box;
}

.aitima-form button {
    background: #1966a4;
    color: #fff;
    padding: 14px;
    border: none;
    border-radius: 6px;
    font-size: 17px;
    font-weight: bold;
    cursor: pointer;
    margin-top: 10px;
}

.aitima-form button:hover {
    background: #145481;
}

.success-box {
    padding: 20px;
    border-radius: 10px;
    background: #e5f8e8;
    border: 1px solid #8cd19a;
    color: #23753c;
    font-size: 16px;
    text-align: center;
    margin-top: 20px;
}

.error-box {
    padding: 14px;
    border-radius: 8px;
    background: #ffeded;
    border: 1px solid #e39a9a;
    color: #b70000;
    margin-bottom: 15px;
}
.toggle-wrapper {
	margin-top: 10px;
    margin-bottom: 10px;
    border: 0px solid #ddd;
    border-radius: 8px;
    background: #fafafa;
}

.toggle-btn {
    width: 100%;
    text-align: left;
    padding: 6px 1px;
    font-size: 14px;
    font-weight: 600;
    background: #fff;
    border: none;
    cursor: pointer;
    border-radius: 60px;
}



.toggle-content {
    display: none;
    padding: 10px 15px 15px 15px;
}

.toggle-content.open {
    display: block;
}

.notes-log-btn-wrapper {
    margin-top: 25px;
    text-align: center;
}

.notes-log-btn {
    display: inline-block;
    padding: 10px 18px;
    background: #005bbb; /* μπλε brand */
    color: #fff;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    transition: 0.2s;
}

.notes-log-btn:hover {
    background: #003f88;
}
.notes-log-search {
    margin: 15px 0 20px;
    text-align: center;
}

#searchLog {
    width: 95%;
    max-width: 400px;
    padding: 10px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 15px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
    transition: border 0.2s, box-shadow 0.2s;
}

#searchLog:focus {
    outline: none;
    border-color: #005bbb;
    box-shadow: 0 0 5px rgba(0, 91, 187, 0.35);
}

/* table */
.notes-log-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.notes-log-table th,
.notes-log-table td {
    padding: 8px 10px;
    border-bottom: 1px solid #eee;
    text-align: left;
}

.notes-log-table th {
    background: #f7f9fc;
    font-weight: 600;
}
.order-history-search {
    margin: 15px 0 20px;
    text-align: center;
}

#searchHistory {
    width: 95%;
    max-width: 400px;
    padding: 10px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 15px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.order-history-table {
    width: 100%;
    border-collapse: collapse;
}

.order-history-table th,
.order-history-table td {
    border-bottom: 1px solid #eee;
    padding: 8px 10px;
}

.order-history-table th {
    background: #f7f9fc;
    font-weight: 600;
}

.btn-view {
    padding: 4px 8px;
    background: #005bbb;
    color: #fff;
    border: 0;
    border-radius: 4px;
    cursor: pointer;
}

.btn-view:hover {
    background: #003f88;
}
