/* =============================================================================
   Arumi — brand layer
   Φορτώνεται ΤΕΛΕΥΤΑΙΟ, πάνω από Bootstrap 4 και το Gentelella theme.
   Το theme έχει καρφωμένα #2A3F54 (navy) και #1ABB9C (teal)· εδώ τα γυρνάμε
   στην παλέτα του arumi.
   ============================================================================= */

:root {
    --arumi-primary:    #44334F; /* Deep Plum   */
    --arumi-secondary:  #7A5C9E; /* Lavender    */
    --arumi-background: #E9E2EF; /* Light Lavender */
    --arumi-surface:    #FAF8F4; /* Off White   */
    --arumi-accent:     #C9B8DC; /* Soft Lilac  */

    --arumi-primary-dark:  #33263B;
    --arumi-primary-light: #5A4468;
    --arumi-ink:           #3F3646;
    --arumi-muted:         #8A7F93;
    --arumi-line:          #E2DAE9;
}

/* --- Καμβάς ------------------------------------------------------------- */
body { background: var(--arumi-background); color: var(--arumi-ink); }
.right_col { background: var(--arumi-background) !important; }

/* --- Πλαϊνό μενού -------------------------------------------------------- */
.nav-sm .container.body .col-md-3.left_col,
.nav-md .container.body .col-md-3.left_col,
.left_col { background: var(--arumi-primary); }

.nav_title { background: var(--arumi-primary-dark); }
.nav_title .site_title { color: #fff; }

.nav.side-menu > li > a {
    color: #D8CFE0;
    border-radius: 3px;
    margin: 1px 8px;
    transition: background .15s ease, color .15s ease;
}
.nav.side-menu > li > a:hover,
.nav.side-menu > li.active > a,
.nav.side-menu > li.current-page > a {
    background: var(--arumi-primary-light) !important;
    color: #fff !important;
    box-shadow: none;
    text-shadow: none;
}
.nav.side-menu > li.active { border-right: 3px solid var(--arumi-accent); }
.nav.child_menu li a { color: #C4B7CE; }
.nav.child_menu li a:hover,
.nav.child_menu li.active a { color: #fff; background: rgba(255, 255, 255, .06); }
.nav.side-menu > li > a i { color: var(--arumi-accent); }

/* Το theme βάφει την ενεργή γραμμή teal μέσω `current-page` ΚΑΙ `active`.
   Χρειάζονται και τα δύο — αλλιώς μένει η πράσινη μπάρα. */
.nav.side-menu > li.current-page,
.nav.side-menu > li.active,
.nav-sm .nav.child_menu li.active,
.nav-sm .nav.side-menu li.active-sm {
    border-right: 3px solid var(--arumi-accent) !important;
}
.nav-sm > .nav.side-menu > li.active-sm > a { color: #fff !important; }
.nav-sm > .nav.side-menu > li.active-sm > a i { color: var(--arumi-accent) !important; }

/* --- Πάνω μπάρα ---------------------------------------------------------- */
.top_nav .nav_menu {
    background: var(--arumi-surface);
    border-bottom: 1px solid var(--arumi-line);
}
.top_nav .nav .open > a,
.top_nav .nav > li > a:hover { background: var(--arumi-background); }
.top_nav a, .top_nav .fa { color: var(--arumi-primary); }
.user-profile img { border-radius: 50%; }

/* --- Πάνελ --------------------------------------------------------------- */
.x_panel {
    background: #fff;
    border: 1px solid var(--arumi-line);
    box-shadow: 0 1px 2px rgba(68, 51, 79, .04);
}
.x_title { border-bottom: 1px solid var(--arumi-line); }
.x_title h2 { color: var(--arumi-primary); }
.page-title .title_left h3 { color: var(--arumi-primary); font-weight: 600; }

/* --- Κουμπιά ------------------------------------------------------------- */
.btn-primary,
.btn-primary:focus {
    background-color: var(--arumi-primary);
    border-color: var(--arumi-primary);
    color: #fff;
}
.btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled):active {
    background-color: var(--arumi-primary-light);
    border-color: var(--arumi-primary-light);
}
.btn-primary:focus, .btn-primary.focus { box-shadow: 0 0 0 .2rem rgba(122, 92, 158, .35); }

.btn-outline-primary { color: var(--arumi-secondary); border-color: var(--arumi-secondary); }
.btn-outline-primary:hover { background: var(--arumi-secondary); border-color: var(--arumi-secondary); color: #fff; }

.btn-outline-secondary { color: var(--arumi-primary); border-color: var(--arumi-line); }
.btn-outline-secondary:hover {
    background: var(--arumi-background);
    border-color: var(--arumi-accent);
    color: var(--arumi-primary);
}

/* Το πράσινο/κόκκινο/πορτοκαλί μένουν σημασιολογικά — δεν τα βάφουμε μοβ. */

/* --- Σήματα -------------------------------------------------------------- */
.badge-light {
    background: var(--arumi-background);
    color: var(--arumi-primary);
    border: 1px solid var(--arumi-line);
}
.badge-secondary { background: var(--arumi-muted); }
.badge-info { background: var(--arumi-secondary); }

/* --- Πίνακες ------------------------------------------------------------- */
.table thead th { color: var(--arumi-primary); border-bottom-color: var(--arumi-line); }
.table td { border-top-color: #F2EDF5; }
.table-striped tbody tr:nth-of-type(odd) { background-color: #FBF9FC; }
.table-hover tbody tr:hover { background-color: var(--arumi-background); }

/* --- Φόρμες -------------------------------------------------------------- */
.form-control:focus {
    border-color: var(--arumi-secondary);
    box-shadow: 0 0 0 .15rem rgba(122, 92, 158, .18);
}
.x_content label { color: var(--arumi-muted); }
a { color: var(--arumi-secondary); }
a:hover { color: var(--arumi-primary); }

/* --- Σελιδοποίηση -------------------------------------------------------- */
.pagination > li > a, .pagination > li > span,
.page-link { color: var(--arumi-secondary); }
.page-item.active .page-link {
    background-color: var(--arumi-primary);
    border-color: var(--arumi-primary);
}

/* --- Στοιχεία της παραγγελίας -------------------------------------------- */
.doc-row { background: var(--arumi-surface); border-color: var(--arumi-line); }
.status-bar { border-color: var(--arumi-line); }
tr.line-charge td { background: var(--arumi-surface); }

/* --- Αλλαγές από τον συγχρονισμό ----------------------------------------- */
.sync-changes { margin: 6px 0 0; padding-left: 26px; }
.sync-changes li { font-size: 13px; }
.sync-changes .from { color: var(--arumi-muted); text-decoration: line-through; }
.sync-changes .fa { margin: 0 4px; opacity: .6; }

/* --- Πακετάρισμα --------------------------------------------------------- */
/* Το κάλεσμα για πακετάρισμα και το feedback του σκαναρίσματος μοιράζονται
   την ίδια χρωματική βάση, ώστε να διαβάζονται ως ένα πράγμα. */
.scan-feedback,
.packing-cta {
    background: var(--arumi-background);
    color: var(--arumi-primary);
    border-radius: 4px;
    font-weight: 600;
}
.scan-feedback {
    padding: 12px 14px;
    margin-bottom: 14px;
    font-family: monospace;
    font-size: 14px;
}
.packing-cta {
    border: 1px solid var(--arumi-accent);
    padding: 14px 16px;
    gap: 12px;
}
.packing-cta .fa { color: var(--arumi-secondary); }
.scan-feedback.ok    { background: #d8f0e0; color: #1c6b3f; }
.scan-feedback.error { background: #fadbd8; color: #a03028; }
.line-vendor { color: var(--arumi-secondary); }
/* Δοκιμαστική λειτουργία: εμφανώς διαφορετική, να μη μπερδεύεται με το κανονικό */
.test-mode {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 8px 12px; margin-bottom: 14px;
    border: 1px dashed #d9a441; border-radius: 4px;
    background: #fdf6e3; color: #7a5c1e; font-size: 13px;
}
.test-mode input { margin-right: 6px; }
.packing-modal.test-mode-on .scan-item { cursor: pointer; }
.packing-modal.test-mode-on .scan-item:hover td { outline: 2px solid var(--arumi-accent); outline-offset: -2px; }
.packing-modal.test-mode-on .scan-item.no-barcode { cursor: not-allowed; }

.scan-barcode { font-size: 11.5px; color: var(--arumi-primary); background: none; padding: 0; }
.scan-table tr.done td   { background: #e8f6ed !important; }
.scan-table tr.pending td{ background: #fdf6e3 !important; }
.scan-table tr.no-barcode td { background: #fbe9e7 !important; }

/* --- Οθόνη σύνδεσης ------------------------------------------------------ */
body.login { background: var(--arumi-background); }
.login_wrapper .login_content { background: #fff; border-radius: 6px; padding: 34px 30px 26px; }
.login_content .brand-logo { max-width: 240px; margin: 0 auto 22px; display: block; }
.login_content .btn-primary { width: 100%; }
.login_content .cf-turnstile { margin: 4px 0 14px; display: flex; justify-content: center; }
.login_content .separator { border-top: 1px solid var(--arumi-line); margin-top: 22px; padding-top: 14px; }
.login_content .tagline {
    letter-spacing: .22em; text-transform: uppercase;
    font-size: 10.5px; color: var(--arumi-muted);
}

/* --- Λογότυπο ------------------------------------------------------------ */
/* Το theme δίνει σταθερό ύψος στο .nav_title και το λογότυπο ξεχείλιζε.
   Κεντράρουμε με flex και δίνουμε ύψος που χωράει την εικόνα. */
.nav_title {
    height: 104px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    overflow: visible;
}
.nav_title .site_title {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}
.nav_title .site_title img { margin: 0 !important; display: block; }
.logo-full { max-width: 168px; }
.logo-mark { width: 36px; }

.nav-sm .nav_title { height: 76px !important; }
.nav-sm .logo-full { display: none !important; }
.nav-sm .logo-mark { display: block !important; }

/* --- Μπάρα φόρτωσης & ημερολόγιο ----------------------------------------- */
#nprogress .bar { background: var(--arumi-accent) !important; }
#nprogress .peg { box-shadow: 0 0 10px var(--arumi-accent), 0 0 5px var(--arumi-accent) !important; }
#nprogress .spinner-icon {
    border-top-color: var(--arumi-accent) !important;
    border-left-color: var(--arumi-accent) !important;
}
.daterangepicker.picker_1 .calendar-table thead tr:first-child,
.daterangepicker.picker_3 .calendar-table thead tr:first-child { background: var(--arumi-primary) !important; }
.daterangepicker.picker_2 .calendar-table thead tr { color: var(--arumi-primary) !important; }
.daterangepicker td.active,
.daterangepicker td.active:hover { background-color: var(--arumi-primary) !important; }

/* ── Αποτέλεσμα σκαναρίσματος ─────────────────────────────────────────────
   Δεν είναι Bootstrap modal αλλά επικάλυψη μέσα στο modal πακεταρίσματος:
   στο γρήγορο σκανάρισμα δύο στοιβαγμένα modals μπλέκουν τα backdrops και
   τα fade τους μπαίνουν σε ουρά — μια επικάλυψη εμφανίζεται ακαριαία. */
.scan-result {
    display: none;
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    z-index: 20;
    background: rgba(68, 51, 79, .96);
    border-radius: 3px;
    padding: 24px;
    overflow-y: auto;
}
.scan-result.show { display: flex; align-items: center; justify-content: center; }

.scan-result-inner { display: flex; align-items: center; gap: 24px; max-width: 620px; width: 100%; }
.scan-result-icon { font-size: 62px; line-height: 1; flex: 0 0 auto; }
.scan-result-image {
    width: 110px; height: 110px; object-fit: cover; flex: 0 0 auto;
    border-radius: 4px; background: #fff; display: none;
}
.scan-result.has-image .scan-result-image { display: block; }
.scan-result-text { min-width: 0; }
.scan-result-title {
    color: #fff; font-size: 19px; font-weight: 600; line-height: 1.3;
    margin-bottom: 6px; word-break: break-word;
}
.scan-result-meta {
    color: var(--arumi-accent); font-size: 14px; font-family: monospace;
    line-height: 1.6; white-space: pre-line;
}

.scan-result.ok    { background: rgba(28, 107, 63, .96); }
.scan-result.ok    .scan-result-icon { color: #b9f0cd; }
.scan-result.ok    .scan-result-meta { color: #b9f0cd; }
.scan-result.error { background: rgba(160, 48, 40, .97); }
.scan-result.error .scan-result-icon,
.scan-result.error .scan-result-meta { color: #ffd9d4; }

/* Η επικάλυψη τοποθετείται ως προς το σώμα του modal. */
.packing-modal .modal-body { position: relative; }

/* Ώρα παραγγελίας μέσα στη μπάρα κατάστασης. */
.status-bar .status-chip .fa-clock-o { color: var(--arumi-secondary); margin-right: 4px; }

/* Παραγγελίες που δεν έχουν πακεταριστεί ακόμα — πρέπει να ξεχωρίζουν στη λίστα.
   Το table-striped βάφει τις μονές γραμμές, οπότε θέλει !important για να περάσει. */
.table-orders tbody tr.row-unpacked,
.table-orders tbody tr.row-unpacked:nth-of-type(odd) {
    background-color: #fdf3e0 !important;
    box-shadow: inset 4px 0 0 #d9a441;
}
.table-orders tbody tr.row-unpacked:hover { background-color: #fbe9c9 !important; }

/* Ακυρωμένες παραγγελίες: δεν πακετάρονται, δεν τιμολογούνται. */
.table-orders tbody tr.row-cancelled,
.table-orders tbody tr.row-cancelled:nth-of-type(odd) {
    background-color: #fbeaea !important;
    box-shadow: inset 4px 0 0 #a03028;
    color: #7a4b47;
}
.table-orders tbody tr.row-cancelled:hover { background-color: #f7dcdc !important; }

/* Η ολοκληρωμένη παραγγελία είναι πληροφορία, όχι επιτυχία που θέλει φανφάρες —
   διακριτικό φόντο με πράσινη γραμμή αντί για γεμάτο alert-success. */
.alert.alert-packed {
    background: var(--arumi-surface);
    border: 1px solid #e3ded4;
    border-left: 4px solid #4e9c6b;
    color: var(--arumi-primary);
}
.alert.alert-packed .fa-check-circle { color: #4e9c6b; }
.alert.alert-packed small { color: #8a8a8a; }

/* ── Κουπόνι επόμενης παραγγελίας ───────────────────────────────────────── */
.coupon-card {
    background: var(--arumi-surface);
    border: 1px solid var(--arumi-accent);
    border-radius: 4px;
    padding: 16px;
}
.coupon-code {
    font-family: monospace;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 6px;
    color: var(--arumi-primary);
    text-align: center;
    padding: 10px 0 14px;
    border-bottom: 1px dashed var(--arumi-accent);
    margin-bottom: 14px;
}
.coupon-facts { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; margin: 0; }
.coupon-facts dt { color: #8a8a8a; font-weight: 500; }
.coupon-facts dd { margin: 0; color: var(--arumi-primary); font-weight: 600; }

/* Οι αριθμοί του dashboard οδηγούν στη λίστα που μετράνε. */
.tile-link { display: block; color: inherit; text-decoration: none; }
.tile-link:hover { color: var(--arumi-secondary); text-decoration: none; }
