/* 📋 Projects — συμπληρώνει το portal.css (ίδια παλέτα). Χωρίς inline styles (CSP). */

.sec-title{font-size:1.15rem;font-weight:700;margin:4px 0 12px}
.prj-section{margin-top:24px;scroll-margin-top:80px}

/* κάρτες λίστας */
.prj-card{text-decoration:none}
.prj-card:hover{text-decoration:none;border-color:var(--accent)}
.prj-title{font-size:1.05rem;line-height:1.35}
.prj-stats{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;color:var(--ink2)}

/* πρόοδος */
.prj-progress{display:flex;align-items:center;gap:8px}
.prj-progress.inline{display:inline-flex}
.prj-progress progress{flex:1;min-width:90px}
progress{appearance:none;-webkit-appearance:none;height:8px;border:0;border-radius:999px;background:var(--line2);overflow:hidden;vertical-align:middle}
progress::-webkit-progress-bar{background:var(--line2);border-radius:999px}
progress::-webkit-progress-value{background:var(--accent);border-radius:999px}
progress::-moz-progress-bar{background:var(--accent);border-radius:999px}
progress.mini{width:64px;height:6px}

/* υπο-μενού ενοτήτων */
.prj-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 4px;border-bottom:1px solid var(--line2);padding-bottom:8px}
.prj-tabs a{padding:6px 12px;border-radius:999px;color:var(--ink2);font-weight:500;font-size:.92rem}
.prj-tabs a:hover{background:var(--accent-bg);color:var(--accent-d);text-decoration:none}

/* εργασία: κύριο + πλαϊνό */
.prj-two{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.prj-two aside .card{margin-bottom:12px}
.prj-del{margin-top:14px;border-top:1px solid var(--line2);padding-top:10px}
.prj-upload{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.prj-upload input[type=file]{padding:8px;border:1px dashed var(--line);border-radius:8px;background:#FAFBFA}
.grid2.tight{gap:0 16px}
.grid2.tight .form{gap:4px}

/* χρονοδιάγραμμα (SVG) */
.gantt{padding:12px 16px;overflow-x:auto}
.g-row{display:grid;grid-template-columns:minmax(140px,260px) minmax(320px,1fr);gap:12px;align-items:center;min-height:28px;border-top:1px solid var(--line2)}
.g-row:first-child{border-top:0}
.g-head{min-height:22px}
.g-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;color:var(--ink)}
a.g-label{color:var(--accent)}
.g-track{display:block;width:100%;height:20px}
.g-bar{fill:#C9D6E3}
.g-bar.st-progress{fill:#C8BEEB} .g-bar.st-wait{fill:#F1D29C} .g-bar.st-ok{fill:#A9D5B6} .g-bar.st-closed{fill:#D8DCE0}
.g-bar.late{fill:#EBB0B0}
.g-done{fill:var(--accent);opacity:.55}
.g-prj{fill:var(--side)}
.g-ms{fill:var(--warn)}
.g-today{stroke:var(--err);stroke-width:2;vector-effect:non-scaling-stroke}

/* αρχεία (ίδια με τα αιτήματα — εδώ ώστε να δουλεύει και με παλιότερο portal.css) */
.att{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.att-img{display:block;border:1px solid var(--line2);border-radius:8px;overflow:hidden;background:#F1F3F1}
.att-img img{display:block;max-width:220px;max-height:160px;width:auto;height:auto}
.att-file{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line2);border-radius:8px;padding:6px 10px;font-size:.9rem;background:#fff}

@media (max-width: 900px){
  .prj-two{grid-template-columns:1fr} .prj-two aside{order:-1}
  .g-row{grid-template-columns:120px minmax(240px,1fr)}
}
