/* Παράχθηκε από το `templates/base.html` (03/09/2026).
 *
 * ⚠️ **Η ΣΕΙΡΑ ΕΧΕΙ ΣΗΜΑΣΙΑ.** Αυτό το αρχείο φορτώνεται ΠΡΙΝ από το
 * `{% block head %}` των σελίδων-παιδιών. Μετακινώντας το, αλλάζει ποιος
 * κανόνας νικά σε ισοβαθμία ειδικότητας — έχει ήδη κοστίσει μια φορά σε
 * αυτό το έργο (νεκρός κανόνας `.modal-backdrop` στο index.html).
 *
 * ⚠️ **Καμία σχετική `url()` εδώ μέσα.** Σε αρχείο CSS λύνεται ως προς το
 * ίδιο το αρχείο, όχι ως προς τη σελίδα — θα έσπαγε σιωπηλά.
 */

      /* ══ Το «primary» του Gary είναι ΠΡΑΣΙΝΟ ═══════════════════════════════
       *
       * Απόφαση χρήστη 03/09/2026: κάθε κουμπί, περίγραμμα ή γράμμα που ήταν
       * μπλε γίνεται πράσινο του Gary. Το brand green (#1e3a28) είναι πολύ
       * σκούρο για κουμπί —διαβάζεται σχεδόν μαύρο— οπότε το primary είναι μια
       * ανοιχτότερη εκδοχή του, #2f6b47.
       *
       * ⚠️ **Μετρημένη αντίθεση, όχι γούστο**: λευκά γράμματα πάνω στο #2f6b47
       * δίνουν **6.33**, ενώ το μπλε που αντικαθιστά έδινε **4.50** — ακριβώς
       * στο όριο WCAG AA, χωρίς περιθώριο. Η αλλαγή **βελτιώνει** την
       * προσβασιμότητα, δεν την πληρώνει.
       *
       * ⚠️ **Δεν αρκεί το `--bs-primary`.** Το Bootstrap 5.3 ψήνει το var(--gary-primary)
       * μέσα στις δικές του μεταβλητές ανά στοιχείο (`.btn-primary` ορίζει
       * `--bs-btn-bg` κ.λπ.). Μετρήθηκαν **23 επιλογείς** με καρφωτό μπλε·
       * όλοι όσοι εμφανίζονται στην εφαρμογή καλύπτονται εδώ. Μια αλλαγή μόνο
       * στο `--bs-primary` θα άφηνε πράσινα links δίπλα σε μπλε κουμπιά.
       *
       * ⚠️ **Το «απαλό transparency» ζει στα δευτερεύοντα.** Ένα ημιδιαφανές
       * κουμπί δείχνει σωστά μόνο πάνω σε λευκό: πάνω σε κάρτα ή στο σκοτεινό
       * θέμα το χρώμα αλλάζει και η αντίθεση παύει να είναι εγγυημένη. Τα
       * γεμίσματα με alpha μπαίνουν σε hover και ήπιες επιφάνειες, όπου δεν
       * κουβαλούν κείμενο κρίσιμης αναγνωσιμότητας.
       *
       * Αναιρείται αλλάζοντας τις δύο πρώτες μεταβλητές. */
      :root {
        --gary-primary:        #2f6b47;
        --gary-primary-rgb:    47, 107, 71;
        --gary-primary-hover:  #265838;
        --gary-primary-active: #20492e;
        --gary-primary-soft:   rgba(47, 107, 71, .12);

        --bs-primary:          var(--gary-primary);
        --bs-primary-rgb:      var(--gary-primary-rgb);
        --bs-link-color:       var(--gary-primary);
        --bs-link-color-rgb:   var(--gary-primary-rgb);
        --bs-link-hover-color: var(--gary-primary-hover);
        --bs-focus-ring-color: rgba(var(--gary-primary-rgb), .25);

        /* Το αχνό μπλε — «subtle» και `.alert-info` — είναι **ξεχωριστή
           παλέτα** από το `--bs-primary` και γι' αυτό επέζησε της πρώτης
           αλλαγής χρώματος. Το `.alert-info` διαβάζει τα τρία από κάτω, οπότε
           μία επικάλυψη πιάνει και τα 19 alert και τα `bg/border/text`
           utilities μαζί.
           ⚠️ Ο κανόνας tone-on-tone μένει: `bg-*-subtle` **μόνο** με
           `text-*-emphasis`. Μετρημένη αντίθεση 9.74 (φωτεινό) και 8.18
           (σκοτεινό) — το μπλε που αντικαθιστά έδινε 7.65 και 10.04. */
        --bs-primary-bg-subtle:     #eaf0ed;
        --bs-primary-border-subtle: #acc4b5;
        --bs-primary-text-emphasis: #1d422c;
        --bs-info-bg-subtle:        #eaf0ed;
        --bs-info-border-subtle:    #acc4b5;
        --bs-info-text-emphasis:    #1d422c;
      }
      /* Το Bootstrap ορίζει τα ίδια και μέσα στο `[data-bs-theme=light]`, που
         είναι πιο ειδικό από το `:root` — χωρίς αυτό, στο φωτεινό θέμα οι
         σύνδεσμοι θα έμεναν μπλε. */
      [data-bs-theme="light"] {
        --bs-primary:          var(--gary-primary);
        --bs-primary-rgb:      var(--gary-primary-rgb);
        --bs-link-color:       var(--gary-primary);
        --bs-link-color-rgb:   var(--gary-primary-rgb);
        --bs-link-hover-color: var(--gary-primary-hover);

        --bs-primary-bg-subtle:     #eaf0ed;
        --bs-primary-border-subtle: #acc4b5;
        --bs-primary-text-emphasis: #1d422c;
        --bs-info-bg-subtle:        #eaf0ed;
        --bs-info-border-subtle:    #acc4b5;
        --bs-info-text-emphasis:    #1d422c;
      }
      /* ⚠️ Στο σκοτεινό θέμα το #2f6b47 πάνω σε #0d1117 δίνει αντίθεση κάτω
         από το όριο: τα **γράμματα** χρειάζονται ανοιχτότερο πράσινο. Τα
         γεμισμένα κουμπιά κρατούν το ίδιο πράσινο, γιατί εκεί το κείμενο είναι
         λευκό πάνω στο πράσινο και η αντίθεση δεν αλλάζει με το θέμα. */
      [data-bs-theme="dark"] {
        /* ⚠️ Το πράσινο των **γραμμάτων** στο σκοτεινό θέμα, ένα σκαλί πιο
           ανοιχτό από το γέμισμα. Το `--gary-primary` πάνω σε σχεδόν μαύρο δεν
           περνά το όριο· τα γεμισμένα κουμπιά το κρατούν, γιατί εκεί το
           κείμενο είναι λευκό και η αντίθεση δεν αλλάζει με το θέμα.
           Μετρημένο: 9.07 πάνω στο φόντο του θέματος. */
        /* ── Ουδέτερα σκοτεινού θέματος ─────────────────────────
           Ήταν αντιγραμμένα σε 8 αρχεία, 81 φορές. Ίδιες τιμές —
           η αλλαγή είναι πηγή αλήθειας, όχι σχεδιασμός.

           ⚠️ Τα `templates/emails/` ΔΕΝ τα χρησιμοποιούν και δεν
           πρέπει: οι πελάτες email αγνοούν τις custom properties,
           οπότε ένα var() εκεί φτάνει άχρωμο. */
        --gary-dk-bg:            #161b22;   /* το βαθύτερο φόντο — πίσω από κάρτες */
        --gary-dk-surface:       #1c2128;   /* επιφάνεια: κάρτες, modal, popover */
        --gary-dk-raised:        #2c3138;   /* επιφάνεια ένα σκαλί πιο πάνω */
        --gary-dk-hover:         #2d333b;   /* επιφάνεια σε hover */
        --gary-dk-border:        #30363d;   /* περίγραμμα */
        --gary-dk-border-strong: #3d444d;   /* περίγραμμα με έμφαση */
        /* ⚠️ Ανεβασμένα 21/09/2026 (αναφορά ιδιοκτήτη: «το κείμενο είναι
           αρκετά γκρι»). Μετρημένη αντίθεση πάνω στο #212529, πριν → μετά:
           muted 3.36 → 4.96, subtle 5.02 → 7.43, text 9.99 → 11.85,
           bright 13.06 → 14.20. Το τρίτο επίπεδο ήταν **κάτω από το όριο
           AA** και το δεύτερο —που βάφει κελιά πίνακα— μόλις πάνω. */
        --gary-dk-muted:         #8b939c;   /* κείμενο τρίτου επιπέδου */
        --gary-dk-subtle:        #adb5bd;   /* κείμενο δεύτερου επιπέδου */
        --gary-dk-text:          #dee2e6;   /* κείμενο σώματος */
        --gary-dk-bright:        #f2f6f9;   /* κείμενο με έμφαση */

        --gary-accent-dark:    #74c493;
        --gary-accent-rgb:     116, 196, 147;

        --bs-link-color:       var(--gary-accent-dark);
        --bs-link-color-rgb:   var(--gary-accent-rgb);
        --bs-link-hover-color: #93d3ac;
        --bs-primary-rgb:      116, 196, 147;

        --bs-primary-bg-subtle:     #101f17;
        --bs-primary-border-subtle: #23503a;
        --bs-primary-text-emphasis: var(--gary-accent-dark);
        --bs-info-bg-subtle:        #101f17;
        --bs-info-border-subtle:    #23503a;
        --bs-info-text-emphasis:    var(--gary-accent-dark);
      }

      .btn-primary {
        --bs-btn-bg:                   var(--gary-primary);
        --bs-btn-border-color:         var(--gary-primary);
        --bs-btn-hover-bg:             var(--gary-primary-hover);
        --bs-btn-hover-border-color:   var(--gary-primary-hover);
        --bs-btn-active-bg:            var(--gary-primary-active);
        --bs-btn-active-border-color:  var(--gary-primary-active);
        --bs-btn-disabled-bg:          var(--gary-primary);
        --bs-btn-disabled-border-color: var(--gary-primary);
        --bs-btn-focus-shadow-rgb:     var(--gary-primary-rgb);
      }
      .btn-outline-primary {
        --bs-btn-color:                var(--gary-primary);
        --bs-btn-border-color:         var(--gary-primary);
        --bs-btn-hover-bg:             var(--gary-primary);
        --bs-btn-hover-border-color:   var(--gary-primary);
        --bs-btn-active-bg:            var(--gary-primary-active);
        --bs-btn-active-border-color:  var(--gary-primary-active);
        --bs-btn-disabled-color:       var(--gary-primary);
        --bs-btn-focus-shadow-rgb:     var(--gary-primary-rgb);
      }
      .btn-link { --bs-btn-focus-shadow-rgb: var(--gary-primary-rgb); }

      /* Φόρμες: το μπλε ήταν και στο focus και στα τσεκαρισμένα. */
      .form-control:focus,
      .form-select:focus,
      .form-check-input:focus {
        border-color: var(--gary-primary);
        box-shadow: 0 0 0 .25rem rgba(var(--gary-primary-rgb), .25);
      }
      .form-check-input:checked,
      .form-check-input[type="checkbox"]:indeterminate {
        background-color: var(--gary-primary);
        border-color: var(--gary-primary);
      }
      .form-range::-webkit-slider-thumb { background-color: var(--gary-primary); }
      .form-range::-moz-range-thumb     { background-color: var(--gary-primary); }

      /* Σύνθετα στοιχεία που κρατούν δικές τους μεταβλητές. */
      .pagination {
        --bs-pagination-active-bg:           var(--gary-primary);
        --bs-pagination-active-border-color: var(--gary-primary);
        --bs-pagination-color:               var(--gary-primary);
        --bs-pagination-hover-color:         var(--gary-primary-hover);
        --bs-pagination-focus-color:         var(--gary-primary-hover);
      }
      .nav-pills   { --bs-nav-pills-link-active-bg: var(--gary-primary); }
      .progress    { --bs-progress-bar-bg: var(--gary-primary); }
      .list-group  { --bs-list-group-active-bg: var(--gary-primary);
                     --bs-list-group-active-border-color: var(--gary-primary); }
      .dropdown-menu { --bs-dropdown-link-active-bg: var(--gary-primary); }
      .accordion   { --bs-accordion-btn-focus-border-color: var(--gary-primary);
                     --bs-accordion-active-color: var(--gary-primary);
                     --bs-accordion-active-bg: var(--gary-primary-soft); }
