/* ============================================================================
   Public Theme — top bar, sub-nav, hero, cards, request list + dark mode
   Ενιαία παλέτα (μπλε mockup) για ΟΛΕΣ τις public σελίδες (Ehelp & Δήμος).
   Διαφέρει μόνο: το icon (headset αν Ehelp, αλλιώς landmark) & η λειτουργικότητα.
   Scope: html[data-app="public"]. Dark mode: html[data-theme="dark"].
   ========================================================================== */

html[data-app="public"] {
    /* Brand (μπλε mockup) */
    --eh-accent:    #2f6bb0;
    --eh-accent-d:  #245a96;
    --eh-danger:    #e0394b;
    --eh-danger-d:  #c32f40;
    --eh-topbar:    #1c2b3a;
    --eh-topbar-sub:#9bb4cc;
    --eh-chip:      #2f6bb0;
    --eh-hero-grad: linear-gradient(120deg,#1a2836 0%,#264c76 52%,#2f6bb0 100%);
    --eh-hero-sh:   0 14px 36px rgba(28,43,58,.28);

    /* Neutrals (ευθυγραμμισμένα με το Ehelp template --mt-*) */
    --eh-bg:        #f4f7fb;
    --eh-card:      #ffffff;
    --eh-card-bd:   #e6eaef;
    --eh-card-sh:   0 4px 16px rgba(28,43,58,.06);
    --eh-head-bd:   #eef1f5;
    --eh-text:      #1f2733;
    --eh-text-soft: #41505f;
    --eh-text-mut:  #5d6b76;
    --eh-label:     #5d6b76;
    --eh-section:   #2f6bb0;
    --eh-soft:      rgba(47,107,176,.10);
    --eh-field-bg:  #ffffff;
    --eh-field-bd:  #d8dee6;
    --eh-field-tx:  #1f2733;
    --eh-thead-bg:  #f6f8fb;
    --eh-th:        #2f6bb0;
    --eh-row-bd:    #eef1f5;
    --eh-row-hover: #eef4fb;
    --eh-zebra:     #f7f9fc;
    --eh-code-bg:   #e7eef8;
    --eh-darkbtn:   #33414f;
    --eh-darkbtn-h: #26323d;
    --eh-subnav-bg: #ffffff;
    --eh-subnav-bd: #e6eaef;
    --eh-nav-tx:    #5d6b76;
}

html[data-app="public"][data-theme="dark"] {
    --eh-bg:        #0e1620;
    --eh-card:      #18222e;
    --eh-card-bd:   #2a3744;
    --eh-card-sh:   0 8px 24px rgba(0,0,0,.45);
    --eh-head-bd:   #2a3744;
    --eh-text:      #e6ecf2;
    --eh-text-soft: #c2ccd8;
    --eh-text-mut:  #94a3b3;
    --eh-label:     #94a3b3;
    --eh-section:   #e6ecf2;
    --eh-soft:      rgba(47,107,176,.24);
    --eh-field-bg:  #141d28;
    --eh-field-bd:  #2a3744;
    --eh-field-tx:  #e6ecf2;
    --eh-thead-bg:  #141d28;
    --eh-th:        #6fa8dc;
    --eh-row-bd:    #2a3744;
    --eh-row-hover: #1d2935;
    --eh-zebra:     #131c26;
    --eh-code-bg:   rgba(47,107,176,.20);
    --eh-darkbtn:   #2a3744;
    --eh-darkbtn-h: #36495a;
    --eh-subnav-bg: #18222e;
    --eh-subnav-bd: #2a3744;
    --eh-nav-tx:    #94a3b3;
}

/* ══════════════════ HIGH-CONTRAST / ACCESSIBILITY THEME ══════════════════
   Συμμόρφωση WCAG 2.1 AAA / EN 301 549 / ν.4727/2020 (ψηφιακή προσβασιμότητα).
   Καθαρό μαύρο-σε-λευκό, έντονα περιγράμματα (2px), χωρίς σκιές, ορατό focus.
   Ενεργοποίηση: html[data-app="public"][data-theme="contrast"]. */
html[data-app="public"][data-theme="contrast"] {
    --eh-accent:    #ffe600;   /* κίτρινο: links / section / icons (≈18:1 σε μαύρο) */
    --eh-accent-d:  #ffd000;
    --eh-danger:    #e63333;
    --eh-danger-d:  #ff5252;
    --eh-topbar:    #000000;
    --eh-topbar-sub:#ffffff;
    --eh-chip:      #ffe600;
    --eh-hero-grad: #000000;
    --eh-hero-sh:   none;

    --eh-bg:        #000000;
    --eh-card:      #000000;
    --eh-card-bd:   #ffffff;
    --eh-card-sh:   none;
    --eh-head-bd:   #ffffff;
    --eh-text:      #ffffff;
    --eh-text-soft: #ffffff;
    --eh-text-mut:  #e6e6e6;
    --eh-label:     #ffffff;
    --eh-section:   #ffe600;
    --eh-soft:      #333300;   /* διακριτικό κίτρινο-τιντ hover σε μαύρο */
    --eh-field-bg:  #000000;
    --eh-field-bd:  #ffffff;
    --eh-field-tx:  #ffffff;
    --eh-thead-bg:  #000000;
    --eh-th:        #ffe600;
    --eh-row-bd:    #ffffff;
    --eh-row-hover: #1f1f1f;
    --eh-zebra:     #0d0d0d;
    --eh-code-bg:   #1a1a00;
    --eh-darkbtn:   #ffe600;
    --eh-darkbtn-h: #ffd000;
    --eh-subnav-bg: #000000;
    --eh-subnav-bd: #ffffff;
    --eh-nav-tx:    #ffffff;
}

/* Έντονα περιγράμματα + κατάργηση σκιών/κίνησης (το contrast δεν στηρίζεται σε σκιές) */
html[data-app="public"][data-theme="contrast"] .eh-feat,
html[data-app="public"][data-theme="contrast"] .main-content .card,
html[data-app="public"][data-theme="contrast"] .main-content .property-detail,
html[data-app="public"][data-theme="contrast"] .eh-form .eh-readonly {
    border-width: 2px !important; box-shadow: none !important;
}
html[data-app="public"][data-theme="contrast"] .eh-feat:hover,
html[data-app="public"][data-theme="contrast"] .main-content .card:hover { box-shadow: none !important; transform: none; }
html[data-app="public"][data-theme="contrast"] .eh-subnav,
html[data-app="public"][data-theme="contrast"] .eh-subnav .nav-link { border-bottom-width: 2px; }
html[data-app="public"][data-theme="contrast"] .eh-subnav .nav-link:hover { text-decoration: underline; text-underline-offset: 4px; }
/* Πεδία/κουμπιά: 2px περίγραμμα */
html[data-app="public"][data-theme="contrast"] .main-content .card .form-control,
html[data-app="public"][data-theme="contrast"] .main-content .card .form-select,
html[data-app="public"][data-theme="contrast"] .main-content .card textarea.form-control,
html[data-app="public"][data-theme="contrast"] .main-content .property-detail .form-control,
html[data-app="public"][data-theme="contrast"] .main-content .property-detail .form-select { border-width: 2px !important; }

/* Ορατό focus σε ΟΛΑ τα interactive (μαύρο δαχτυλίδι, λειτουργεί σε λευκό & σε χρωματιστά κουμπιά) */
html[data-app="public"][data-theme="contrast"] a:focus-visible,
html[data-app="public"][data-theme="contrast"] button:focus-visible,
html[data-app="public"][data-theme="contrast"] input:focus-visible,
html[data-app="public"][data-theme="contrast"] select:focus-visible,
html[data-app="public"][data-theme="contrast"] textarea:focus-visible,
html[data-app="public"][data-theme="contrast"] [tabindex]:focus-visible, /* λευκό ring: ορατό σε μαύρο φόντο & σε κίτρινα κουμπιά */
html[data-app="public"][data-theme="contrast"] .main-content .card .form-control:focus,
html[data-app="public"][data-theme="contrast"] .main-content .card .form-select:focus,
html[data-app="public"][data-theme="contrast"] .main-content .property-detail .form-control:focus,
html[data-app="public"][data-theme="contrast"] .main-content .property-detail .form-select:focus,
html[data-app="public"][data-theme="contrast"] .eh-thememenu__item:focus-visible {
    outline: 3px solid #fff !important; outline-offset: 2px !important; box-shadow: none !important;
}
/* Υπογράμμιση links μέσα στο περιεχόμενο (διάκριση χωρίς εξάρτηση από χρώμα) */
html[data-app="public"][data-theme="contrast"] .main-content a:not(.btn):not(.eh-cta):not(.eh-cta2):not(.eh-edit-link) { text-decoration: underline; }

/* Κουμπιά primary: κίτρινο φόντο → ΜΑΥΡΟ κείμενο (αντίθεση σε black-based HC) */
html[data-app="public"][data-theme="contrast"] .main-content .card .btn-primary,
html[data-app="public"][data-theme="contrast"] .main-content .form-actions .btn-primary,
html[data-app="public"][data-theme="contrast"] .main-content .property-detail .btn-primary,
html[data-app="public"][data-theme="contrast"] .main-content .property-detail input[type="submit"],
html[data-app="public"][data-theme="contrast"] .main-content .property-detail .blue-btn,
html[data-app="public"][data-theme="contrast"] .main-content .eh-actions-bar .btn-primary { color: #000 !important; }
/* Λογότυπο topbar: κίτρινο chip → μαύρο εικονίδιο */
html[data-app="public"][data-theme="contrast"] .eh-topbar__logo { color: #000; }
/* «Καθαρισμός/Επιστροφή» (soft): κίτρινο κείμενο σε σκούρο, hover = κίτρινο φόντο/μαύρο κείμενο */
html[data-app="public"][data-theme="contrast"] .main-content .filter-card .btn-secondary:hover,
html[data-app="public"][data-theme="contrast"] .main-content .form-actions .btn-secondary:hover { color: #000; }

/* Σεβασμός prefers-reduced-motion σε όλα τα public themes */
@media (prefers-reduced-motion: reduce) {
    html[data-app="public"] *,
    html[data-app="public"] *::before,
    html[data-app="public"] *::after {
        animation-duration: .001ms !important; animation-iteration-count: 1 !important;
        transition-duration: .001ms !important; scroll-behavior: auto !important;
    }
    html[data-app="public"] .eh-feat:hover,
    html[data-app="public"] .eh-cta:hover { transform: none !important; }
}

/* ── Page background (όλες οι public σελίδες) — force ουδέτερο, όχι γαλάζιο ── */
html[data-app="public"] body#homePageAitimata,
html[data-app="public"] .main-content,
html[data-app="public"] .main-content > .row,
html[data-app="public"] .main-content > section.row { background: var(--eh-bg) !important; }

/* ══════════════════ TOP BAR ══════════════════ */
.eh-header { font-family:'Open Sans',sans-serif; margin:0; padding:0; background:var(--eh-topbar); }
.eh-topbar { background:var(--eh-topbar); display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px 32px; }
.eh-topbar__left { display:flex; align-items:center; gap:16px; }
.eh-topbar__logo { width:46px; height:46px; flex:0 0 auto; border-radius:13px; background:var(--eh-chip);
                   display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px; }
.eh-topbar__brand { display:flex; flex-direction:column; line-height:1.15; text-decoration:none; }
.eh-topbar__title { color:#fff; font-size:23px; font-weight:700; letter-spacing:.2px; }
.eh-topbar__sub { color:var(--eh-topbar-sub); font-size:12px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; }
.eh-topbar__right { display:flex; align-items:center; gap:16px; }

/* Επικοινωνία (guest) στο top bar */
.eh-contact { display:flex; flex-direction:column; align-items:flex-end; gap:6px; line-height:1; }
.eh-contact a { display:inline-flex; align-items:center; gap:9px; color:#cdd9e6; font-size:14px; font-weight:600; text-decoration:none; }
.eh-contact a:hover { color:#fff; }

/* Χρήστης (logged-in) στο top bar */
.eh-user { display:flex; align-items:center; gap:12px; }
.eh-user__txt { display:flex; flex-direction:column; align-items:flex-start; line-height:1.2; }
.eh-user__name { color:#fff; font-size:14px; font-weight:700; }
.eh-user__link { display:inline-flex; align-items:center; gap:5px; color:var(--eh-topbar-sub); font-size:12.5px; font-weight:600; text-decoration:none; }
.eh-user__link:hover { color:#fff; }
.eh-user__avatar { width:40px; height:40px; flex:0 0 auto; border-radius:50%; object-fit:cover;
                   background:var(--eh-chip); border:2px solid rgba(255,255,255,.25); }

.eh-themebtn { width:38px; height:38px; flex:0 0 auto; border-radius:10px;
               background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18); color:#cfe0ec;
               display:flex; align-items:center; justify-content:center; font-size:15px; cursor:pointer; transition:background .15s ease; }
.eh-themebtn:hover { background:rgba(255,255,255,.18); color:#fff; }
.eh-burger { display:none; background:transparent; border:0; color:#fff; font-size:22px; cursor:pointer; }

/* ── Theme picker dropdown (3 ρητές επιλογές: φωτεινό / σκοτεινό / υψηλή αντίθεση) ── */
.eh-themepick { position:relative; display:inline-flex; }
.eh-thememenu {
    position:absolute; top:calc(100% + 10px); right:0; z-index:1200; min-width:208px;
    background:var(--eh-card); border:1px solid var(--eh-card-bd); border-radius:12px;
    box-shadow:0 12px 30px rgba(28,43,58,.22); padding:6px;
    opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .14s ease, transform .14s ease, visibility .14s;
}
.eh-themepick--open .eh-thememenu { opacity:1; visibility:visible; transform:translateY(0); }
.eh-thememenu::before {
    content:""; position:absolute; top:-6px; right:14px; width:12px; height:12px; transform:rotate(45deg);
    background:var(--eh-card); border-left:1px solid var(--eh-card-bd); border-top:1px solid var(--eh-card-bd);
}
.eh-thememenu__item {
    display:flex; align-items:center; gap:11px; width:100%; padding:10px 12px; border:0; border-radius:9px;
    background:transparent; color:var(--eh-text); font-size:14px; font-weight:600; text-align:left; cursor:pointer; transition:background .12s ease;
}
.eh-thememenu__item:hover { background:var(--eh-soft); }
.eh-thememenu__ico { width:18px; text-align:center; flex:0 0 auto; color:var(--eh-accent); font-size:15px; }
.eh-thememenu__item > span { flex:1 1 auto; }
.eh-thememenu__chk { flex:0 0 auto; color:var(--eh-accent); font-size:13px; opacity:0; }
.eh-thememenu__item.is-active { background:var(--eh-soft); }
.eh-thememenu__item.is-active .eh-thememenu__chk { opacity:1; }
.eh-thememenu__item:focus-visible { outline:2px solid var(--eh-accent); outline-offset:1px; }

/* Στο high-contrast: έντονο περίγραμμα μενού & ορατό focus */
html[data-app="public"][data-theme="contrast"] .eh-thememenu { border-width:2px; box-shadow:none; }

/* ══════════════════ SUB NAV ══════════════════ */
.eh-subnav { background:var(--eh-subnav-bg); border-bottom:1px solid var(--eh-subnav-bd); display:flex;
             align-items:stretch; gap:4px; padding:0 32px; box-shadow:0 1px 3px rgba(28,43,58,.05); }
.eh-subnav .nav-mainmenu { display:flex; flex-direction:row; width:auto; align-items:stretch; gap:4px; margin:0; padding:0; list-style:none; flex-wrap:wrap; }
.eh-subnav .nav-mainmenu .slash { display:none; }
.eh-subnav .nav-item { display:flex; align-items:center; padding:0; }
.eh-subnav .nav-link { display:flex; align-items:center; padding:18px 14px; color:var(--eh-nav-tx) !important;
                       font-size:15px; font-weight:600; text-decoration:none; }
.eh-subnav .nav-link:hover { color:var(--eh-accent) !important; }

/* ══════════════════ HOME HERO + FEATURE CARDS ══════════════════ */
.eh-home { width:100%; background:var(--eh-bg); padding:30px 32px 48px; font-family:'Open Sans',sans-serif; }
.eh-wrap { max-width:1280px; margin:0 auto; display:flex; flex-direction:column; gap:24px; }
.eh-hero { position:relative; overflow:hidden; border-radius:18px; background:var(--eh-hero-grad);
           box-shadow:var(--eh-hero-sh); padding:46px 48px; display:flex; align-items:center; gap:40px; flex-wrap:wrap; }
.eh-hero__main { flex:1 1 460px; min-width:300px; }
.eh-eyebrow { display:inline-block; font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#a9c8e6; margin-bottom:14px; }
.eh-hero__main h1 { margin:0 0 16px; color:#fff; font-size:40px; font-weight:800; letter-spacing:.2px; line-height:1.1; }
.eh-hero__text { margin:0 0 24px; color:rgba(255,255,255,.9); font-size:16.5px; line-height:1.65; max-width:620px; }
.eh-hero__text p:last-child { margin-bottom:0; }
.eh-hero__text strong { color:#fff; }
.eh-chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.eh-chip-tag { display:inline-flex; align-items:center; gap:7px; padding:7px 13px; background:rgba(255,255,255,.12);
               border:1px solid rgba(255,255,255,.18); border-radius:999px; color:#eaf2fa; font-size:13px; font-weight:600; }
.eh-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.eh-cta { display:inline-flex; align-items:center; gap:10px; padding:15px 28px; border-radius:11px;
          font-size:16px; font-weight:700; text-decoration:none; transition:transform .14s ease, box-shadow .14s ease; }
.eh-cta:hover { transform:translateY(-2px); }
.eh-cta--primary { background:#fff; color:#1c2b3a; box-shadow:0 6px 16px rgba(28,43,58,.22); }
.eh-cta--primary:hover { color:#1c2b3a; box-shadow:0 10px 24px rgba(28,43,58,.30); }
.eh-cta--login { background:var(--eh-danger); color:#fff; box-shadow:0 6px 16px rgba(224,57,75,.35); }
.eh-cta--login:hover { background:var(--eh-danger-d); color:#fff; box-shadow:0 10px 24px rgba(224,57,75,.40); }
.eh-cta2 { display:inline-flex; align-items:center; gap:9px; padding:15px 24px; background:transparent;
           border:1.5px solid rgba(255,255,255,.45); border-radius:11px; color:#fff; font-size:15px; font-weight:600;
           text-decoration:none; transition:background .14s ease; }
.eh-cta2:hover { background:rgba(255,255,255,.12); color:#fff; }
.eh-hero__illo { flex:0 0 auto; width:190px; height:190px; border-radius:30px; background:rgba(255,255,255,.12);
                 border:1px solid rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center; color:#fff; font-size:80px; line-height:1; }
.eh-feats { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
.eh-feat { background:var(--eh-card); border:1px solid var(--eh-card-bd); border-radius:16px; padding:26px;
           box-shadow:var(--eh-card-sh); transition:transform .16s ease, box-shadow .16s ease; }
.eh-feat:hover { transform:translateY(-3px); box-shadow:0 10px 26px rgba(28,43,58,.13); }
.eh-feat__icon { width:54px; height:54px; border-radius:15px; display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:16px; }
.eh-feat h3 { margin:0 0 9px; font-size:17.5px; font-weight:700; color:var(--eh-text); }
.eh-feat p { margin:0; font-size:14.5px; line-height:1.65; color:var(--eh-text-mut); }
.eh-feat p strong { color:var(--eh-text-soft); }

/* ══════════ REQUEST PAGES (Λίστα / Δημιουργία / Επεξεργασία) ══════════ */
/* Κάρτες */
html[data-app="public"] .main-content .card {
    background: var(--eh-card); border: 1px solid var(--eh-card-bd); border-radius: 16px; box-shadow: var(--eh-card-sh); overflow: hidden;
}
html[data-app="public"] .main-content .card .card-header {
    background: var(--eh-card); border-bottom: 1px solid var(--eh-head-bd); padding: 16px 22px;
}
/* Section title: μπλε μπάρα + uppercase (eservices look) */
html[data-app="public"] .main-content .card .card-header h5 {
    margin: 0; font-size: 13.5px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase;
    color: var(--eh-section); display: inline-flex; align-items: center; gap: 11px;
}
html[data-app="public"] .main-content .card .card-header h5::before {
    content: ""; flex: 0 0 auto; width: 4px; height: 17px; border-radius: 2px; background: var(--eh-accent);
}
/* Labels */
html[data-app="public"] .main-content .card label,
html[data-app="public"] .main-content .card .form-label {
    font-size: 13px; font-weight: 600; color: var(--eh-label); margin-bottom: 6px;
}
/* Πεδία φόρμας (φίλτρα + create/edit) — λευκό bg, rounded */
html[data-app="public"] .main-content .card .form-control,
html[data-app="public"] .main-content .card .form-select,
html[data-app="public"] .main-content .card .custom-input,
html[data-app="public"] .main-content .card textarea.form-control,
html[data-app="public"] .main-content .card .p-inputtext,
html[data-app="public"] .main-content .card .ng-select .ng-select-container,
html[data-app="public"] .main-content .card p-datepicker input {
    min-height: 42px; background: var(--eh-field-bg) !important; border: 1px solid var(--eh-field-bd) !important;
    border-radius: 10px !important; color: var(--eh-field-tx) !important; font-size: 14px;
}
html[data-app="public"] .main-content .card textarea.form-control { min-height: 90px; }
html[data-app="public"] .main-content .card .ng-select.ng-select-opened .ng-select-container,
html[data-app="public"] .main-content .card .form-control:focus,
html[data-app="public"] .main-content .card .form-select:focus {
    border-color: var(--eh-accent) !important; box-shadow: 0 0 0 3px var(--eh-soft) !important;
}
/* Κουμπί «Καθαρισμός» (soft blue) */
html[data-app="public"] .main-content .filter-card .btn-secondary {
    background: var(--eh-soft); border-color: transparent; color: var(--eh-accent); border-radius: 9px; font-weight: 600;
}
html[data-app="public"] .main-content .filter-card .btn-secondary:hover { background: var(--eh-accent); color: #fff; }
/* Primary buttons (Νέο Αίτημα / Προβολή / Αποστολή) */
html[data-app="public"] .main-content .card .btn-primary,
html[data-app="public"] .main-content .form-actions .btn-primary {
    background: var(--eh-accent); border-color: var(--eh-accent); color: #fff; border-radius: 10px; font-weight: 700;
}
html[data-app="public"] .main-content .card .btn-primary:hover,
html[data-app="public"] .main-content .form-actions .btn-primary:hover { background: var(--eh-accent-d); border-color: var(--eh-accent-d); }
/* Κουμπί «Επιστροφή» στις φόρμες (soft blue) */
html[data-app="public"] .main-content .form-actions .btn-secondary {
    background: var(--eh-soft); border-color: transparent; color: var(--eh-accent); border-radius: 10px; font-weight: 700;
}
html[data-app="public"] .main-content .form-actions .btn-secondary:hover { background: var(--eh-accent); color: #fff; }
/* Πίνακας λίστας */
html[data-app="public"] .main-content .p-datatable .p-datatable-thead > tr > th {
    background: var(--eh-thead-bg); color: var(--eh-th); font-size: 13px; font-weight: 600; border-color: var(--eh-row-bd); padding: 12px 16px;
}
html[data-app="public"] .main-content .p-datatable .p-sortable-column .p-sortable-column-icon,
html[data-app="public"] .main-content .p-datatable .p-sortable-column .p-sort-icon { color: var(--eh-th); }
html[data-app="public"] .main-content .p-datatable .p-datatable-tbody > tr { background: var(--eh-card); color: var(--eh-text-soft); }
html[data-app="public"] .main-content .p-datatable .p-datatable-tbody > tr:nth-child(even) > td { background: var(--eh-zebra); }
html[data-app="public"] .main-content .p-datatable .p-datatable-tbody > tr > td {
    border-color: var(--eh-row-bd); color: var(--eh-text-soft); font-size: 13px; padding: 13px 16px; vertical-align: top;
}
html[data-app="public"] .main-content .p-datatable .p-datatable-tbody > tr:hover > td { background: var(--eh-row-hover); }
html[data-app="public"] .main-content .p-datatable .p-sortable-column.p-highlight,
html[data-app="public"] .main-content .p-datatable .p-sortable-column:focus { box-shadow: none; }
html[data-app="public"] .main-content .p-datatable .p-sortable-column:hover { color: var(--eh-accent-d); }
/* Α/Α code: απλό κείμενο (όχι pill) */
html[data-app="public"] .main-content .code-badge {
    background: transparent; color: var(--eh-text); padding: 0; font-family: inherit; font-weight: 600; font-size: 13px; white-space: nowrap;
}
/* Footer πίνακα / pager */
html[data-app="public"] .main-content .p-datatable .p-datatable-tfoot > tr > td,
html[data-app="public"] .main-content .p-datatable tfoot td { background: var(--eh-card); border-color: var(--eh-head-bd); color: var(--eh-text-soft); }
html[data-app="public"] .main-content .p-paginator { background: var(--eh-card); color: var(--eh-text-mut); }
html[data-app="public"] .main-content .card .form-control#PageSize { min-height: 34px; width: auto; display: inline-block; }
html[data-app="public"][data-theme="dark"] .main-content .alert-info { background:#13242f; color:#cfe0ec; border-color:#274055; }

/* ══════════ Public content/form σελίδες (OperatingInstructions, EditProfile, CMS) ══════════ */
html[data-app="public"] .main-content .container h1 { font-size: 22px; font-weight: 800; color: var(--eh-text); margin: 4px 0 14px; }
html[data-app="public"] .main-content .property-detail {
    background: var(--eh-card); border: 1px solid var(--eh-card-bd); border-radius: 16px;
    box-shadow: var(--eh-card-sh); padding: 24px; color: var(--eh-text-soft);
}
html[data-app="public"] .main-content .property-detail h1,
html[data-app="public"] .main-content .property-detail h2,
html[data-app="public"] .main-content .property-detail h3,
html[data-app="public"] .main-content .property-detail h4 { color: var(--eh-text); }
html[data-app="public"] .main-content .property-detail label { color: var(--eh-label); font-weight: 600; margin-bottom: 6px; }
html[data-app="public"] .main-content .property-detail .form-control,
html[data-app="public"] .main-content .property-detail .form-select,
html[data-app="public"] .main-content .property-detail textarea,
html[data-app="public"] .main-content .property-detail .custom-input {
    min-height: 42px; background: var(--eh-field-bg) !important; border: 1px solid var(--eh-field-bd) !important;
    border-radius: 10px !important; color: var(--eh-field-tx) !important;
}
html[data-app="public"] .main-content .property-detail .form-control:focus,
html[data-app="public"] .main-content .property-detail .form-select:focus {
    border-color: var(--eh-accent) !important; box-shadow: 0 0 0 3px var(--eh-soft) !important;
}
html[data-app="public"] .main-content .property-detail .btn-primary,
html[data-app="public"] .main-content .property-detail input[type="submit"],
html[data-app="public"] .main-content .property-detail .blue-btn {
    background: var(--eh-accent) !important; border-color: var(--eh-accent) !important; color: #fff !important; border-radius: 10px !important; font-weight: 700;
}
html[data-app="public"] .main-content .property-detail .btn-primary:hover,
html[data-app="public"] .main-content .property-detail input[type="submit"]:hover,
html[data-app="public"] .main-content .property-detail .blue-btn:hover { background: var(--eh-accent-d) !important; border-color: var(--eh-accent-d) !important; color:#fff !important; }
html[data-app="public"] .main-content .property-detail a:not(.btn) { color: var(--eh-accent); }
html[data-app="public"] .main-content .property-detail .label-control-gray { color: var(--eh-text-soft); }

/* ── eh-form (EditProfile κ.λπ. σε modern cards) ── */
html[data-app="public"] .main-content .eh-form .eh-readonly {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    min-height: 42px; padding: 8px 12px; background: var(--eh-field-bg);
    border: 1px solid var(--eh-field-bd); border-radius: 10px; color: var(--eh-text); font-size: 14px;
}
html[data-app="public"] .main-content .eh-form .eh-readonly > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html[data-app="public"] .main-content .eh-form .eh-edit-link {
    display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto;
    color: var(--eh-accent); font-size: 12.5px; font-weight: 600; text-decoration: none; white-space: nowrap;
}
html[data-app="public"] .main-content .eh-form .eh-edit-link:hover { color: var(--eh-accent-d); }
html[data-app="public"] .main-content .eh-actions-bar {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; flex-wrap: wrap;
}
html[data-app="public"] .main-content .eh-actions-bar .btn-primary {
    background: var(--eh-accent) !important; border-color: var(--eh-accent) !important; color: #fff !important; border-radius: 10px; font-weight: 700; padding: 10px 22px;
}
html[data-app="public"] .main-content .eh-actions-bar .btn-primary:hover { background: var(--eh-accent-d) !important; border-color: var(--eh-accent-d) !important; }
html[data-app="public"] .main-content .eh-actions-bar .btn-danger { border-radius: 10px; font-weight: 700; padding: 10px 22px; }

/* ══════════════════ FOOTER (navy + κόκκινη copyright μπάρα) ══════════════════ */
.eh-footer { font-family:'Open Sans',sans-serif; }
.eh-footer__main { background:var(--eh-topbar); padding:38px 32px; }
.eh-footer__cols { max-width:1280px; margin:0 auto; display:flex; flex-wrap:wrap; gap:40px; justify-content:space-between; }
.eh-footer__col h4 { margin:0 0 16px; color:#fff; font-size:18px; font-weight:700; }
.eh-footer__contact { display:flex; flex-direction:column; gap:11px; }
.eh-footer__contact span,
.eh-footer__contact a { display:inline-flex; align-items:center; gap:11px; color:#b7c2cd; font-size:14px; text-decoration:none; }
.eh-footer__contact i { color:var(--eh-accent); width:16px; text-align:center; flex:0 0 auto; }
.eh-footer__contact a:hover { color:#fff; }
.eh-footer__links { display:flex; flex-direction:column; gap:11px; }
.eh-footer__links a { color:#b7c2cd; font-size:14px; text-decoration:none; }
.eh-footer__links a:hover { color:#fff; }
.eh-footer__copy { background:var(--eh-danger); padding:11px 32px; text-align:center; }
.eh-footer__copy,
.eh-footer__copy span,
.eh-footer__copy a { color:#fff; font-size:11.5px; font-weight:600; letter-spacing:.5px; text-transform:uppercase; text-decoration:none; }
.eh-footer__copy span,
.eh-footer__copy a { font-weight:700; }

/* ── Responsive top bar / sub-nav ── */
@media (max-width:768px) {
    .eh-topbar { padding:14px 18px; }
    .eh-burger { display:block; }
    .eh-subnav { flex-direction:column; align-items:stretch; gap:0; padding:0 18px; display:none; }
    .eh-subnav.eh-subnav--open { display:flex; }
    .eh-subnav .nav-mainmenu { flex-direction:column; }
    .eh-subnav .nav-link { padding:14px 4px; }
    .eh-contact { align-items:flex-end; }
    .eh-home { padding:18px 14px 32px; }
    .eh-hero { padding:32px 24px; }
    .eh-hero__main h1 { font-size:30px; }
}

/* ── Open Sans παντού (public) ── */
html[data-app="public"] { --bs-body-font-family: 'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif; }
html[data-app="public"] body,
html[data-app="public"] .form-control, html[data-app="public"] .form-select,
html[data-app="public"] .btn, html[data-app="public"] button,
html[data-app="public"] input, html[data-app="public"] select, html[data-app="public"] textarea,
html[data-app="public"] .p-component, html[data-app="public"] .ng-select,
html[data-app="public"] .p-datatable, html[data-app="public"] .nav-link {
    font-family: 'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif !important;
}
