/* Οθόνη «Ώρες εργασίας προσωπικού» (#page-ergani-work-hours) — ΜΟΝΟ η όψη.
   Markup: σκελετός index.html, πίνακες/γραμμές saas_ergani_card.js (_whsStaffRow), μαζεμένη όψη saas_ergani_workhours_view.js.
   Ύφος: docs/design/fason/ (λευκές κάρτες, περίγραμμα #E2E8F0, γωνίες 10–12px, πεδία 44px, μπλε #1D6FD8).
   Χρώματα με σημασία: κόκκινο ΜΟΝΟ υπερεργασία/υπερωρία > 0, πορτοκαλί = σημείωση που θέλει προσοχή, γκρι = ουδέτερο / δεν υπολογίζεται.
   Το φόντο σελίδας δεν αγγίζεται (το κληρονομεί από το body)· οι κάρτες είναι λευκές πάνω του. */

#page-ergani-work-hours{min-width:0}

/* ── Κεφαλίδα: ← ΕΡΓΑΝΗ, τίτλος + Εξαγωγή CSV, από κάτω καρτέλες και πλοήγηση περιόδου ── */
#page-ergani-work-hours .ewh-head{margin-bottom:12px}
.ewh-back{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;font-weight:700;color:#1D6FD8;text-decoration:none;white-space:nowrap}
.ewh-back:hover{text-decoration:underline}
.ewh-back:focus-visible{outline:2px solid #1D6FD8;outline-offset:2px;border-radius:4px}
.ewh-headrow{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px}
.ewh-title{min-width:0}
.ewh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;box-sizing:border-box;border:1px solid #CBD5E1;border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-size:.875rem;font-weight:700;white-space:nowrap;cursor:pointer}
.ewh-btn:focus-visible{outline:2px solid #1D6FD8;outline-offset:2px}
.ewh-btn[disabled]{border-color:#E2E8F0;background:#F1F5F9;color:#94A3B8;cursor:not-allowed}
#whs-today{border-color:#1D6FD8;color:#1D6FD8}

.ewh-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:14px;border-bottom:1px solid #E2E8F0}
.ewh-tabs{display:flex;gap:20px;max-width:100%}
.ewh-tab{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;padding:0 2px;font:inherit;font-size:.9rem;font-weight:600;color:#64748B;white-space:nowrap;cursor:pointer}
.ewh-tab.is-active{color:var(--text);border-bottom-color:#1D6FD8}
.ewh-tab:focus-visible{outline:2px solid #1D6FD8;outline-offset:-2px}
.ewh-nav{display:flex;align-items:center;gap:8px;padding-bottom:6px}
.ewh-arrow{flex:0 0 44px;width:44px;height:44px;border:1px solid #CBD5E1;border-radius:10px;background:var(--surface);color:var(--text);font-size:1.2rem;line-height:1;cursor:pointer}
.ewh-arrow[disabled]{opacity:.4;cursor:default}
.ewh-arrow:focus-visible{outline:2px solid #1D6FD8;outline-offset:0}
.ewh-label{display:flex;align-items:center;justify-content:center;min-width:150px;height:44px;padding:0 12px;box-sizing:border-box;border:1px solid #CBD5E1;border-radius:10px;background:var(--surface);color:var(--text);font-size:.9rem;font-weight:700;white-space:nowrap}

/* ── Κάρτα εργαζομένων: κεφαλίδα στηλών, μία γραμμή ανά εργαζόμενο ── */
.ewh-list{min-width:0}
.ewh-empty{padding:26px 10px;text-align:center;font-size:.88rem;line-height:1.5;color:var(--muted)}
.ewh-card{min-width:0;max-width:100%;border:1px solid #E2E8F0;border-radius:12px;background:var(--surface);overflow:hidden}
.ewh-cols,.ewh-row,.ewh-wrow{display:grid;grid-template-columns:minmax(0,1fr) 92px 92px 92px 28px;align-items:center;column-gap:6px}
.ewh-cols{padding:9px 14px;border-bottom:1px solid #E2E8F0;font-size:.6875rem;font-weight:700;letter-spacing:.3px;color:#64748B}
.ewh-cols span + span{text-align:right}
.ewh-emp + .ewh-emp{border-top:1px solid #E2E8F0}
.ewh-row{min-height:52px;padding:4px 14px;cursor:pointer}
.ewh-emp.is-open > .ewh-row{background:var(--surface2)}
.ewh-who{display:flex;align-items:center;min-width:0}
.ewh-name{min-width:0;min-height:44px;padding:0;background:none;border:0;font:inherit;font-size:.95rem;font-weight:700;color:var(--text);text-align:left;overflow-wrap:break-word;cursor:pointer}
.ewh-name:focus-visible,.ewh-wname:focus-visible,.ewh-i:focus-visible{outline:2px solid #1D6FD8;outline-offset:2px;border-radius:6px}
.ewh-gone{font-size:.75rem;font-weight:500;color:var(--muted)}

/* Φούσκα «i»: περιοχή πατήματος 44×44, ορατός κύκλος 22px */
.ewh-i{flex:0 0 44px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 -6px 0 -2px;padding:0;background:none;border:0;cursor:pointer}
.ewh-i-dot{display:flex;align-items:center;justify-content:center;width:22px;height:22px;box-sizing:border-box;border:1.5px solid #1D6FD8;border-radius:50%;color:#1D6FD8;font-size:.75rem;font-weight:700;font-style:italic;line-height:1}
.ewh-i[aria-expanded="true"] .ewh-i-dot{background:#1D6FD8;color:#fff}
.ewh-info{margin:0 14px 8px;padding:8px 12px;border:1px solid #BFDBFE;border-radius:10px;background:#EFF6FF;color:#1E3A8A;font-size:.8125rem;line-height:1.5}
.ewh-info[hidden],.ewh-body[hidden],.ewh-wbody[hidden]{display:none}

/* Νούμερα: δεξιά στοιχισμένα, tabular-nums */
.ewh-n{text-align:right;font-size:.875rem;font-weight:700;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}
.ewh-n.ewh-na{font-size:.75rem;font-weight:400;line-height:1.25;color:#64748B;white-space:normal}
.ewh-n.ewh-mute{font-weight:600;color:#94A3B8}
.ewh-hot{color:#C62828;font-weight:800}
.ewh-chev{position:relative;justify-self:end;width:24px;height:24px}
.ewh-chev::before{content:"";position:absolute;top:6px;left:7px;width:8px;height:8px;border-right:2px solid #64748B;border-bottom:2px solid #64748B;transform:rotate(-45deg);transition:transform .15s}
.is-open > .ewh-row .ewh-chev::before,.is-open > .ewh-wrow .ewh-chev::before{transform:rotate(45deg)}
.ewh-warn{padding:0 14px 8px;font-size:.75rem;line-height:1.4;color:#B45309}

/* ── Εβδομάδες (μήνας) ── */
.ewh-body{border-top:1px solid #EEF2F7;min-width:0}
.ewh-week + .ewh-week{border-top:1px solid #EEF2F7}
.ewh-wrow{min-height:48px;padding:2px 14px 2px 28px;background:var(--surface2);cursor:pointer}
.ewh-wname{min-width:0;min-height:44px;padding:0;background:none;border:0;font:inherit;font-size:.75rem;font-weight:800;letter-spacing:.4px;color:#64748B;text-align:left;cursor:pointer}
.ewh-week > .ewh-warn{padding-left:28px;background:var(--surface2)}
.ewh-wbody{min-width:0}

/* ── Πίνακας ημερών: σκρολ οριζόντια ΜΟΝΟ μέσα στο πλαίσιό του ── */
.ewh-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ewh-table{width:100%;min-width:0;border-collapse:collapse;font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--text)}
.ewh-td{padding:7px 10px;border-bottom:1px solid #EEF2F7;white-space:nowrap;vertical-align:top;text-align:left}
.ewh-th{font-size:.75rem;font-weight:700;color:#64748B}
.ewh-th:nth-child(n+4),.ewh-dn,.ewh-dz,.ewh-tz{text-align:right}
.ewh-wk .ewh-td{padding:10px 10px 6px;font-size:.75rem;font-weight:800;letter-spacing:.4px;color:#64748B;background:var(--surface2)}
.ewh-dd{font-weight:600}
.ewh-ds{font-weight:400;color:#64748B}
.ewh-dp{font-weight:600;border-left:1px solid #E2E8F0}
/* Ωράριο και χτυπήματα αναδιπλώνονται (στα διαστήματα), οι υπόλοιπες στήλες μένουν σε μία γραμμή */
.ewh-ds,.ewh-dp,.ewh-th:nth-child(2),.ewh-th:nth-child(3){white-space:normal}
.ewh-iv{white-space:nowrap}
.ewh-dz.ewh-mute{color:var(--muted)}
.ewh-dim-out{opacity:.45}
.ewh-dim-rest{opacity:.55}
.ewh-tl{font-weight:800;text-align:right;white-space:normal}
.ewh-tn{font-weight:800}
.ewh-tz{font-weight:800}
.ewh-note{font-size:.75rem;font-weight:500;line-height:1.4;color:#B45309}
.ewh-hide,.ewh-data[hidden]{display:none}

/* ── Δεν υπολογίζονται ── */
.ewh-excl{border-top:1px solid #E2E8F0}
.ewh-card > .ewh-excl:first-child{border-top:0}
.ewh-excl-title{padding:10px 14px 2px;font-size:.6875rem;font-weight:700;letter-spacing:.3px;color:#64748B}
.ewh-ex{padding:7px 14px;font-size:.8125rem;line-height:1.4;color:#64748B;overflow-wrap:anywhere}
.ewh-excl > .ewh-ex:last-child{padding-bottom:12px}

/* Πριν στηθεί η μαζεμένη όψη (ή αν δεν φορτώσει το αρχείο της) η λίστα μένει ευανάγνωστη */
.ewh-raw{margin-bottom:10px}
.ewh-rawname{padding:10px 4px 6px;font-size:.95rem;font-weight:700}

.ewh-foot{margin-top:12px;font-size:.75rem;line-height:1.5;color:#64748B}

@media(max-width:600px){
  .ewh-bar{border-bottom:0;margin-bottom:12px}
  .ewh-tabs{flex:1 1 100%;border-bottom:1px solid #E2E8F0}
  .ewh-nav{flex:1 1 100%;flex-wrap:wrap;padding-bottom:0}
  .ewh-label{flex:1 1 0;min-width:0}
  #whs-today{flex:1 1 100%}
  .ewh-cols,.ewh-row,.ewh-wrow{grid-template-columns:minmax(0,1fr) 54px 54px 54px 20px;column-gap:4px}
  .ewh-cols{padding:9px 12px;font-size:.5625rem;letter-spacing:0}
  .ewh-row{padding:4px 12px}
  .ewh-wrow{padding:2px 12px 2px 20px}
  .ewh-name{font-size:.9rem}
  .ewh-i{margin:0 -10px 0 -6px}
  .ewh-n{font-size:.75rem}
  .ewh-n.ewh-na{font-size:.6875rem}
  .ewh-nas .ewh-n:nth-of-type(1){grid-column:2 / span 3}
  .ewh-nas .ewh-n:nth-of-type(n+2){display:none}
  .ewh-wname{font-size:.6875rem;letter-spacing:0}
  .ewh-info{margin:0 12px 8px}
  .ewh-warn{padding:0 12px 8px}
  .ewh-week > .ewh-warn{padding-left:20px}
  .ewh-chev{width:20px}
  .ewh-chev::before{left:5px}
  .ewh-table{font-size:.75rem}
  .ewh-td{padding:6px 2px}
  .ewh-th{font-size:.6875rem}
}

body[data-theme="dark"] .ewh-info{border-color:#1E40AF;background:rgba(29,111,216,.18);color:#BFDBFE}
body[data-theme="dark"] .ewh-warn,body[data-theme="dark"] .ewh-note{color:#FDBA74}
body[data-theme="dark"] .ewh-btn[disabled]{background:rgba(148,163,184,.12);border-color:#334155;color:#64748B}
/* Αργία: γαλάζια γραμμή ημέρας χωρίς χτύπημα, και μία ένδειξη «N αργία/αργίες» στη σύνοψη εβδομάδας */
.ewh-holiday > .ewh-td{background:#EAF1FD;color:#1D4C9E}
.ewh-holiday .ewh-ds{font-weight:600;color:#1D4C9E}
.ewh-holcount{margin-left:8px;padding:1px 8px;border-radius:999px;background:#EAF1FD;color:#1D4C9E;font-size:12px;font-weight:600;white-space:nowrap}
.ewh-holtag{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#EAF1FD;color:#1D4C9E;font-size:12px;font-weight:600;white-space:nowrap}
