/* Ailyser /νέο — «Υλοποίηση» (Κάρτα Δ, DN-ΥΛΟΠΟΙΗΣΗ-UI, 29/09).
 * Brief: ΤΑΜΠΛΟ/ΑΝΑΘΕΣΕΙΣ/2026-09-29_karta-D-brief.md (σχέδιο+συμβόλαιο:
 * ΤΑΜΠΛΟ/ΑΝΑΘΕΣΕΙΣ/2026-09-29_ΕΓΓΡΑΦΑ_ΣΧΕΔΙΟ.md §4 Κάρτα Δ).
 * ΙΔΙΟ αρχείο-ανά-προβολή μοτίβο με το katastasi.css: το #ylopoiisiΠεριοχή παίρνει ΗΔΗ τη σωστή θέση
 * στο grid (class="βιβλιοθήκη-περιοχή", ίδια με Βιβλιοθήκη/AI Rank/Κατάσταση/Άνθρωποι, στο app.css) —
 * ΚΑΜΙΑ ανάγκη να ξαναοριστεί εδώ. Ο σκελετός (.βιβλ-κεφ/.βιβλ-κεφ-δεξιά/.βιβλ-πίνακας/.βιβλ-κατάσταση/
 * .βιβλ-κενό) είναι ΗΔΗ γενικός στο app.css — ΚΑΜΙΑ επανάληψή του εδώ. Μόνο ό,τι λείπει. */
#ylopoiisiΠεριοχή .μικρό{font-size:12.5px;color:var(--muted);font-weight:400}

/* Πρόοδος πάνω-πάνω (brief §Τι θέλω 4: «σπασμένο σε checklist με πρόοδο … % ολοκλήρωσης»). ΤΩΡΑ (brief
   2026-10-01 dyo-pososta, mm Λ493/Λ494/Λ497 ➜ ΕΓΚΡΙΘΗΚΕ Λ498): το χωνί 4 σταδίων (Παραδόθηκε/Εγκρίθηκε/
   Στο main/Live) ζωγραφίζεται ΜΕΣΑ στο #yloΧωνί ΜΕ ΤΟ εγκεκριμένο συστατικό σελίδες/νέο/xoni.js/xoni.css
   (window.ζωγράφισεΧωνί, βλ. ylopoiisi.js yloΣχεδίασεΧωνί) — ΚΑΜΙΑ δική μας CSS εδώ πια για τα στάδια. */
.ylo-πρόοδος{padding:10px var(--gutter) 0;flex:none}
.ylo-χωνί-θέση{margin-bottom:8px}

/* 🆕 ΕΝΔΕΙΞΗ ΦΡΕΝΟΥ (brief §3): «η αίθουσα είναι σε φρένο — Συνέχισε» πάνω στην Υλοποίηση — ίδιο ύφος «κακό»
   με .ylo-γραμμή-μήνυμα.κακό, απλώς σαν ταινία πάνω-πάνω αντί για σκέτο κείμενο. */
.ylo-φρένο-ταινία{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;padding:8px 10px;border-radius:var(--r-s);background:var(--bad-soft);color:var(--bad);font-size:13px}
.ylo-φρένο-ταινία button{padding:4px 10px;font-size:12.5px}

/* Κυλιόμενη λίστα, ΙΔΙΟ μοτίβο με .κατ-λίστα/.κατ-πίνακας: πολλές στήλες δεν σμικρύνονται άνετα σε
   στενή οθόνη — κυλάει ΟΡΙΖΟΝΤΙΑ ΜΕΣΑ στο δικό της κουτί, η ΣΕΛΙΔΑ μένει χωρίς οριζόντια κύλιση. */
.ylo-λίστα{flex:1;min-height:0;overflow:auto;padding:8px var(--gutter) 32px}
.ylo-πίνακας{width:max-content;min-width:0}   /* ylo-pedia-taxinomisi: +9 δομημένες στήλες ➜ κυλά ΟΡΙΖΟΝΤΙΑ μέσα στο .ylo-λίστα, ποτέ η σελίδα */
.ylo-πίνακας td,.ylo-πίνακας th{vertical-align:top}

/* Στοιχεία ανά γραμμή σχεδίου (μοντέλο/ελεγκτές γράφουν) — ΙΔΙΟ μοτίβο με .φίλτρα-πεδίο select/input. */
.ylo-πίνακας select,.ylo-πίνακας input[type=text]{padding:6px 8px;border:1px solid var(--rule);border-radius:var(--r-s);background:var(--card);font-size:13px;font-family:inherit;color:var(--ink)}
.ylo-πίνακας input[type=text].ylo-checkers{width:160px}
.ylo-πίνακας .κ-δευτερεύον{margin-top:6px;padding:5px 12px;font-size:12.5px}
.ylo-checkers-γραμμή{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}
.ylo-checkers-γραμμή label{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:12.5px}
.ylo-γραμμή-μήνυμα{font-size:12px;color:var(--muted);display:block;margin-top:4px;min-height:15px}
.ylo-γραμμή-μήνυμα.κακό{color:var(--bad)}
.ylo-γραμμή-μήνυμα.καλό{color:var(--agree)}
.ylo-εξαρτήσεις{font-size:12px;color:var(--muted)}
/* pososto-dn-fainetai: ποσοστό εργασίας ΜΕΣΑ στην 1η στήλη της γραμμής (πάντα ορατό, ορατό και σε 390). */
.ylo-ποσοστό{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:12px;font-weight:600;color:var(--ink-2)}
.ylo-ποσοστό-γραμμή{flex:none;width:56px;height:5px;border-radius:3px;background:var(--rule-2);overflow:hidden}
.ylo-ποσοστό-γέμισμα{display:block;height:100%;background:var(--ink-2)}
.ylo-ποσοστό-άδηλο{font-weight:400;font-style:italic;color:var(--muted)}

/* 🆕 W-YLOPOIISI-CHECKLIST (mm Λ471/Λ473, 30/09): ☐/✓ ανά γραμμή + «ποιος» (ανάθεση, ΞΕΧΩΡΙΣΤΗ από το σχέδιο) +
   «Ανάθεσε όλα σε…» πάνω-πάνω. */
.ylo-τσεκ{font-size:16px;text-align:center;width:24px}
.ylo-ανάθεσε-όλα{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}
.ylo-ανάθεσε-όλα select,.ylo-ανάθεσε-όλα input[type=text]{padding:6px 8px;border:1px solid var(--rule);border-radius:var(--r-s);background:var(--card);font-size:13px;font-family:inherit;color:var(--ink)}
.ylo-ανάθεσε-όλα input[type=text]{width:140px}
.ylo-ανάθεση-γραμμή{display:flex;flex-direction:column;gap:4px}
.ylo-ανάθεση-γραμμή input[type=text].ylo-assign-to{width:120px}
/* mpara-prwti-stili: «ποιος τρέχει» στην 1η στήλη, κάτω από τη μπάρα — συμπαγές, χωρίς στήλη-διακόσμηση. */
.ylo-run{margin-top:3px;font-size:11.5px;line-height:1.35;color:var(--ink-2);overflow-wrap:anywhere}
.ylo-run-stale{color:var(--muted);font-style:italic}
.ylo-run-σημείωση{font-size:11.5px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}

/* 🆕 ylo-pedia-taxinomisi (mm Λ564): δομημένες στήλες #/%/Κατάσταση/Βήματα/Εργάτης/Μηχάνημα/Μοντέλο/Τελ. θέαση/Σημείωση +
   ταξινόμηση με κλικ στην κεφαλίδα. # και % ΚΟΛΛΗΤΕΣ αριστερά (sticky) ώστε σε 390 να φαίνονται πάντα όσο κυλάς πλάγια. */
.ylo-πίνακας th.ylo-ταξ{cursor:pointer;user-select:none;white-space:nowrap}
.ylo-πίνακας th.ylo-ταξ:hover{color:var(--ink)}
.ylo-πίνακας th.ylo-ταξ:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.ylo-πίνακας th[aria-sort=ascending],.ylo-πίνακας th[aria-sort=descending]{color:var(--ink)}
.ylo-βέλος{display:inline-block;min-width:1ch;margin-left:4px;color:var(--accent)}
.ylo-πίνακας td[data-col],.ylo-πίνακας th[data-col]{white-space:nowrap}
.ylo-πίνακας td[data-col=status]{white-space:normal;min-width:130px}
.ylo-πίνακας td[data-col=num],.ylo-πίνακας td[data-col=pct],.ylo-πίνακας th[data-col=num],.ylo-πίνακας th[data-col=pct]{position:sticky;z-index:2;background:var(--card)}
.ylo-πίνακας th[data-col=num],.ylo-πίνακας td[data-col=num]{left:0;min-width:64px;width:64px;max-width:64px;font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink-2)}
.ylo-πίνακας th[data-col=pct],.ylo-πίνακας td[data-col=pct]{left:64px;min-width:112px;width:112px;max-width:112px;border-right:1px solid var(--rule)}
.ylo-πίνακας td[data-col=pct] .ylo-ποσοστό{margin-top:0}
.ylo-πίνακας td[data-col=steps],.ylo-πίνακας td[data-col=seen]{font-variant-numeric:tabular-nums}
.ylo-θέαση{font-size:12.5px;color:var(--ink-2)}
.ylo-θέαση.ylo-run-stale{color:var(--muted);font-style:italic}

/* 🆕 ylo-stiles-collapse (mm Λ590): στήλες κειμένου (Κάρτα/Σημείωση/Απόδειξη) ΚΛΕΙΣΤΕΣ εξ ορισμού = μία γραμμή, σταθερό πλάτος 26ch,
   ellipsis· κλειστή δεν φαρδαίνει ποτέ. Ανοιχτή (▸ στην κεφαλίδα) = 64ch με αναδίπλωση, κυλά το κουτί .ylo-λίστα. nowrap παντού αλλού. */
.ylo-πίνακας td,.ylo-πίνακας th{white-space:nowrap}
.ylo-πίνακας td[data-col=status]{white-space:normal}
.ylo-πίνακας td .ylo-checkers-γραμμή{flex-wrap:nowrap}
.ylo-πίνακας .ylo-ανάθεση-γραμμή{flex-direction:row;align-items:center}
.ylo-πίνακας .ylo-κειμ-σώμα{display:block;box-sizing:border-box;width:26ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;font-size:12.5px;line-height:1.4;color:var(--ink-2)}
.ylo-πίνακας .ylo-κειμ-σώμα b{color:var(--ink)}
.ylo-πίνακας.ylo-ανοιχτή-card td[data-tx=card] .ylo-κειμ-σώμα,
.ylo-πίνακας.ylo-ανοιχτή-note td[data-tx=note] .ylo-κειμ-σώμα,
.ylo-πίνακας.ylo-ανοιχτή-proof td[data-tx=proof] .ylo-κειμ-σώμα{width:64ch;white-space:normal;overflow:visible;text-overflow:clip;cursor:default;overflow-wrap:anywhere}
.ylo-πίνακας td.ylo-ανοιχτό-κελί .ylo-κειμ-σώμα{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.ylo-άνοιγμα{margin-left:6px;padding:0 6px;border:1px solid var(--rule);border-radius:var(--r-s);background:var(--card);color:var(--ink-2);font:inherit;font-size:12px;line-height:18px;cursor:pointer}
.ylo-άνοιγμα:hover{color:var(--ink);border-color:var(--ink-2)}
.ylo-άνοιγμα:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
/* ύψος γραμμής = μία γραμμή: άδειο μήνυμα/περιθώρια δεν προσθέτουν ύψος (το μήνυμα εμφανίζεται μόνο όταν έχει κείμενο) */
.ylo-πίνακας .ylo-γραμμή-μήνυμα:empty{display:none}
.ylo-πίνακας .ylo-checkers-γραμμή,.ylo-πίνακας .κ-δευτερεύον{margin-top:0}

/* ═══ 🆕 SPRINTS (proodos, mm Λ638/Λ639, συμβόλαιο §8) — chips sprint πάνω από το χωνί, σύνοψη AI, ετικέτα sprint ανά γραμμή.
   ΜΟΝΟ tokens του app.css ➜ ανοιχτό/σκούρο. ═══ */
.ylo-πίνακας tr[hidden]{display:none}
.ylo-sprint-chips:empty,.ylo-σύνοψη-θέση:empty{display:none}
.ylo-sprint-σειρά{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.ylo-sprint-chip{border:1px solid var(--rule);background:var(--card);color:var(--ink-2);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;margin:0}
.ylo-sprint-chip:hover{background:var(--rule-2)}
.ylo-sprint-chip[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.ylo-sprint-chip-κλειστό{background:var(--card-2);color:var(--muted)}
.ylo-sprint-ιστορικό{border-style:dashed;color:var(--muted)}
.ylo-sprint-πλήθος{font-weight:700;opacity:.75;margin-left:2px}
.ylo-κανένα-ενεργό{margin:0 0 8px;padding:8px 10px;border-radius:var(--r-s);background:var(--rule-2);color:var(--ink-2);font-size:13.5px;font-weight:600}
.ylo-σύνοψη{margin:0 0 10px;padding:10px 12px;border-radius:var(--r-s);background:var(--accent-soft);border:1px solid var(--accent-line)}
.ylo-σύνοψη-τίτλος{margin:0;font-size:14.5px;font-weight:700;color:var(--ink)}
.ylo-σύνοψη-κεφαλή{display:block;width:100%;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere}
.ylo-σύνοψη-κεφαλή:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
.ylo-σύνοψη-βέλος{display:inline-block;width:1em}
.ylo-σύνοψη-σώμα{margin-top:6px}
.ylo-σύνοψη-σώμα[hidden]{display:none}
.ylo-σύνοψη-κείμενο{margin:0;font-size:14px;line-height:1.55;color:var(--ink);white-space:pre-line;overflow-wrap:anywhere;max-width:78ch}
.ylo-σύνοψη-κενό{margin:0;font-size:13.5px;color:var(--muted)}
.ylo-σύνοψη-υποσέλιδο{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px}
.ylo-σύνοψη-υποσέλιδο .κ-δευτερεύον{margin:0 0 0 auto}
.ylo-μέλη{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:6px 0 2px}
.ylo-μέλος{background:var(--rule-2);color:var(--ink-2)}
.ylo-μέλος-ρ{font-weight:500;color:var(--muted)}
.ylo-μέλη-σύνδεσμος{margin-left:auto;font-size:13px;font-weight:600;color:var(--accent);text-decoration:none}
.ylo-μέλη-σύνδεσμος:hover{text-decoration:underline}
@media (max-width:767px){.ylo-μέλη-σύνδεσμος{margin-left:0}}
.ylo-ετικέτα{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap}
.ylo-τελική{background:var(--agree-soft);color:var(--agree)}
.ylo-ενημερώνεται{background:var(--warn-soft);color:var(--warn)}
.ylo-sprint-ετ{display:block;box-sizing:border-box;max-width:26ch;margin-bottom:2px;padding:0 6px;border-radius:var(--r-s);background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ylo-sprint-ετ:empty{display:none}
