/* iSCA v3 — η όψη του κελύφους.
   Τα χρώματα είναι παρμένα από το λογότυπο «isca Care Intelligence».
   Η πορτοκαλί κουκκίδα (--here) σημαίνει ΕΝΑ πράγμα: «εδώ είσαι» ή «θέλει εσένα». Δεν μπαίνει πουθενά αλλού. */

@font-face{font-family:'Geologica';font-weight:300;font-display:swap;src:url(../fonts/geologica-greek-300.woff2) format('woff2');unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:'Geologica';font-weight:300;font-display:swap;src:url(../fonts/geologica-latin-300.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'Geologica';font-weight:400;font-display:swap;src:url(../fonts/geologica-greek-400.woff2) format('woff2');unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:'Geologica';font-weight:400;font-display:swap;src:url(../fonts/geologica-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'Geologica';font-weight:500;font-display:swap;src:url(../fonts/geologica-greek-500.woff2) format('woff2');unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:'Geologica';font-weight:500;font-display:swap;src:url(../fonts/geologica-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'Geologica';font-weight:600;font-display:swap;src:url(../fonts/geologica-greek-600.woff2) format('woff2');unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:'Geologica';font-weight:600;font-display:swap;src:url(../fonts/geologica-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}
@font-face{font-family:'Geologica';font-weight:700;font-display:swap;src:url(../fonts/geologica-greek-700.woff2) format('woff2');unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:'Geologica';font-weight:700;font-display:swap;src:url(../fonts/geologica-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD}

:root{
  --navy:#012357; --ink:#16305f; --muted:#586b8e; --faint:#8b9ab6;
  --blue:#0d5bdb; --blue-deep:#0d42b0; --sky-tint:#e7f2ff;
  --mist:#eef3fa; --paper:#fff; --line:#d6e0ee; --line-soft:#e6edf6; --head:#f7f9fc;
  --here:#ff700a; --here-tint:#fff0e2;
  --ok:#0e8a5f; --ok-tint:#e2f5ec; --bad:#c42b2b; --bad-tint:#fdeceb;
  --u:#0d5bdb;
  --r-lg:14px; --r-md:10px; --r-sm:8px; --top:72px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Geologica',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:14px;line-height:1.45;
  color:var(--ink);background:var(--mist);font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p{margin:0}
b,strong{font-weight:600;color:var(--navy)}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
[hidden]{display:none!important}
svg.i{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dim{color:var(--muted)}
.sub{display:block;font-weight:400;color:var(--muted);font-size:12.5px;line-height:1.35;margin-top:1px}
.nowrap{white-space:nowrap}

/* ── η κουκκίδα ── */
.here{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--here);flex:none;box-shadow:0 0 0 3px var(--here-tint)}
.here.s{width:7px;height:7px;box-shadow:0 0 0 2px var(--here-tint)}

/* ── επάνω μπάρα ── */
.top{display:flex;align-items:center;gap:16px;height:var(--top);padding:0 20px 0 16px;background:var(--paper);position:sticky;top:0;z-index:30}
.top .brandlink{display:block;flex:none}
.top .brand{height:58px;display:block}
.top .brand-sm{display:none;width:34px;height:34px;border-radius:8px}
.unitsw{display:flex;align-items:center;gap:10px;padding:7px 10px 7px 8px;border:1px solid var(--line);border-radius:12px;background:var(--paper);min-width:0;cursor:pointer;text-align:left}
.unitsw .sw{width:8px;align-self:stretch;border-radius:4px;background:var(--u);flex:none}
.unitsw .t{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.unitsw .t b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.unitsw .t span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.unitsw svg{color:var(--muted)}
.unitsw.single{cursor:default}
.unitsw.single svg{display:none}
.search{flex:1;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:19px;background:var(--mist);color:var(--muted);max-width:420px;border:0;cursor:pointer;text-align:left}
.search kbd{margin-left:auto;font:inherit;font-size:11.5px;color:var(--faint);border:1px solid var(--line);border-radius:5px;padding:1px 6px;background:var(--paper)}
.top .sp{flex:1}
.away{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:500;white-space:nowrap}
.me{width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:600;font-size:13px;flex:none}
.me:hover{text-decoration:none}
.unitline{height:4px;background:var(--u);position:sticky;top:var(--top);z-index:29}

/* ── σώμα ── */
.body{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:calc(100vh - var(--top) - 4px)}
.body.has-side{grid-template-columns:236px minmax(0,1fr) 320px}
.nav{background:var(--paper);border-right:1px solid var(--line-soft);padding:14px 10px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:calc(var(--top) + 4px);height:calc(100vh - var(--top) - 4px);overflow-y:auto}
.nav .grp{font-size:12px;color:var(--faint);padding:12px 10px 4px}
.nav a{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:9px;color:var(--ink);line-height:1.25}
.nav a:hover{background:var(--head);text-decoration:none}
.nav a .n{margin-left:auto;font-size:12px;color:var(--muted)}
.nav a.cur{background:var(--mist);color:var(--navy);font-weight:600}
.nav a .dotslot{width:9px;display:inline-flex;justify-content:center;flex:none}
.nav a img{width:24px;height:24px;border-radius:6px;border:1px solid var(--line-soft);margin-left:-4px}
.nav .foot{margin-top:auto;padding:12px 10px 2px;font-size:12px;color:var(--muted);border-top:1px solid var(--line-soft)}
.nav .foot b{display:block}
.okline{display:flex;gap:6px;align-items:flex-start;color:var(--ok);margin-top:4px}
.okline.bad{color:var(--bad)}
.okline svg{width:14px;height:14px;margin-top:2px}
.main{padding:22px 24px 40px;min-width:0}
.narrow{max-width:760px}

.pagehead{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;margin-bottom:16px}
.pagehead h1{min-height:38px;font-size:26px;font-weight:700;color:var(--navy);letter-spacing:-.015em;line-height:1.12;display:flex;align-items:center;gap:12px}
.pagehead h1 img{width:40px;height:40px;border-radius:10px;border:1px solid var(--line-soft)}
.pagehead p{color:var(--muted);grid-column:1 / -1;max-width:860px}
.pagehead .acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
h2.sub2{font-size:16px;font-weight:600;color:var(--navy);margin:30px 0 4px}
p.subp{color:var(--muted);margin-bottom:10px;max-width:860px}

/* ── κουμπιά ── */
.btn{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 13px;border-radius:9px;border:1px solid var(--line);background:var(--paper);color:var(--navy);font-weight:500;white-space:nowrap;cursor:pointer;line-height:1.2}
.btn:hover{background:var(--head);text-decoration:none}
.btn.pri{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.pri:hover{background:var(--blue-deep)}
.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}
.btn.sm{min-height:30px;padding:0 10px;font-size:13px;border-radius:8px}
.btn.quiet{border-color:transparent;background:transparent;color:var(--muted)}
.btn.quiet:hover{background:var(--mist);color:var(--navy)}
.btn[disabled]{opacity:.5;cursor:default}
.btn.big{min-height:50px;border-radius:14px;font-weight:600;font-size:15px;justify-content:center;width:100%}
.btn.big svg{width:24px;height:24px}
.linkbtn{background:none;border:0;padding:0;color:var(--blue);font-weight:500;cursor:pointer}
.linkbtn:hover{text-decoration:underline}

/* ── κάρτες και πίνακες ── */
.box{background:var(--paper);border-radius:var(--r-lg);border:1px solid var(--line-soft)}
.box.pad{padding:16px 18px}
table.tbl{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper);border-radius:var(--r-lg);border:1px solid var(--line-soft);overflow:hidden}
.tbl th,.tbl td{padding:9px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-soft)}
.tbl tr:last-child td,.tbl tr:last-child th{border-bottom:0}
.tbl thead th{font-weight:500;color:var(--muted);font-size:13px;background:var(--head);vertical-align:bottom;line-height:1.25;white-space:nowrap}
.tbl thead th a{color:inherit;display:inline-flex;gap:4px;align-items:center}
.tbl thead th a svg{width:12px;height:12px;opacity:.55}
.tbl thead th.sorted a{color:var(--navy)}
.tbl td.num,.tbl th.num{text-align:right}
.tbl tbody tr.click{cursor:pointer}
.tbl tbody tr.click:hover td{background:var(--head)}
.tbl tr.retired td{color:var(--faint)}
.tbl tr.retired td b{color:var(--muted)}
.tbl td.ck,.tbl th.ck{width:34px;padding-right:0}
.tbl td.afm{color:var(--muted);letter-spacing:.02em;white-space:nowrap}
.tbl td.ks{font-weight:500;color:var(--navy);white-space:nowrap}
.tbl td.c,.tbl th.c{text-align:center}
.empty{padding:34px 20px;text-align:center;color:var(--muted);background:var(--paper);border-radius:var(--r-lg);border:1px dashed var(--line)}
.empty b{display:block;font-size:15px;margin-bottom:4px}

/* ── λίστα: εργαλεία ── */
.tools{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.tools .q{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:18px;background:var(--paper);border:1px solid var(--line);color:var(--muted);flex:1 1 200px;max-width:300px}
.tools .q input{border:0;outline:0;background:transparent;width:100%;min-width:0;color:var(--ink)}
.tools select{height:36px;padding:0 28px 0 10px;text-overflow:ellipsis;border:1px solid var(--line);border-radius:9px;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23586b8e' stroke-width='1.7' stroke-linecap='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 8px center/14px;appearance:none;max-width:210px}
.tools select.on{border-color:var(--blue);background-color:var(--sky-tint);color:var(--navy);font-weight:500}
.tools .grow{flex:1}
.count{color:var(--muted);font-size:13px;white-space:nowrap}
.bulk{display:flex;align-items:center;gap:8px;background:var(--sky-tint);border-radius:var(--r-md);padding:7px 10px 7px 12px;margin-bottom:8px;color:var(--navy);flex-wrap:wrap}
.bulk b{margin-right:auto}
.pager{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:10px;color:var(--muted);font-size:13px}
input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue);vertical-align:-3px;margin:0}

/* ── ετικέτες ── */
.st{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;padding:2px 9px;border-radius:20px;background:var(--mist);color:var(--ink);white-space:nowrap}
.st.ok{background:var(--ok-tint);color:var(--ok)}
.st.bad{background:var(--bad-tint);color:var(--bad)}
.st.idea{background:transparent;border:1px dashed var(--line);color:var(--muted)}
.st.wait{background:var(--sky-tint);color:var(--blue-deep)}
.chips{display:flex;gap:5px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:5px;min-height:23px;padding:0 8px 0 0;border-radius:6px;background:var(--mist);font-size:12.5px;color:var(--ink);overflow:hidden;white-space:nowrap}
.chip::before{content:"";width:4px;align-self:stretch;background:var(--c,var(--faint));flex:none}
.chip b{font-weight:600}
.mark{width:18px;height:18px;display:inline-grid;place-items:center;border-radius:50%;vertical-align:middle}
.mark.yes{background:var(--ok-tint);color:var(--ok)}
.mark.no{background:var(--bad-tint);color:var(--bad)}
.mark.later{border:1.5px dashed var(--faint)}
.mark svg{width:11px;height:11px;stroke-width:2.4}
.legend{display:flex;gap:18px;align-items:center;color:var(--muted);font-size:12.5px;margin:9px 2px 0;flex-wrap:wrap}
.legend span{display:inline-flex;align-items:center;gap:7px}
.note{font-size:12.5px;color:var(--muted);margin-top:10px;line-height:1.45}
.swatch{display:inline-block;width:12px;height:12px;border-radius:4px;background:var(--c);vertical-align:-1px;margin-right:6px}

/* ── χάρτης οργανισμού ── */
.orgmap{background:var(--paper);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line-soft)}
.orgmap table{border-collapse:collapse;width:100%;table-layout:fixed}
.orgmap th,.orgmap td{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-soft)}
.orgmap tr:last-child td,.orgmap tr:last-child th{border-bottom:0}
.orgmap thead th{font-weight:400;color:var(--muted);font-size:12.5px;background:var(--head);vertical-align:bottom;line-height:1.25}
.orgmap thead th b{display:block;font-size:13.5px;margin-bottom:2px}
.orgmap tbody th{font-weight:600;color:var(--navy);line-height:1.25}
.orgmap td + td,.orgmap th + th,.orgmap th + td{border-left:1px solid var(--line-soft)}
.orgmap col.c0{width:170px}
.orgmap .hd{display:flex;justify-content:space-between;gap:6px;align-items:flex-start}
.orgmap .hd .edit{opacity:0;color:var(--muted);flex:none}
.orgmap th:hover .edit,.orgmap .edit:focus-visible{opacity:1}
.units{display:flex;flex-wrap:wrap;gap:5px}
.unit{display:inline-flex;align-items:stretch;gap:6px;min-height:26px;padding:0 8px 0 0;border-radius:7px;background:var(--mist);font-size:12.5px;font-weight:400;color:var(--ink);overflow:hidden;line-height:1.25;max-width:100%}
.unit > span{padding:4px 0;min-width:0;overflow-wrap:anywhere}
.unit b{color:var(--navy)}
.unit:hover{text-decoration:none;background:var(--sky-tint)}
.unit::before{content:"";width:5px;background:var(--c,var(--faint));flex:none}
.unit.on{outline:2px solid var(--blue);outline-offset:1px;background:var(--sky-tint)}
.unit.gone{opacity:.55;text-decoration:line-through}
.selbox{width:16px;height:12px;border-radius:4px;outline:2px solid var(--blue);background:var(--sky-tint);display:inline-block}
.orglist{display:none}

/* ── πλαϊνό πάνελ και συρτάρι ── */
.side{background:var(--paper);border-left:1px solid var(--line-soft);position:sticky;top:calc(var(--top) + 4px);height:calc(100vh - var(--top) - 4px);overflow-y:auto}
.side .cbar{height:6px;background:var(--c)}
.side .in,.drawer .in{padding:16px 18px 22px}
.side h2,.drawer h2{font-size:18px;font-weight:700;color:var(--navy);line-height:1.2;letter-spacing:-.01em}
.side .ty,.drawer .ty{color:var(--muted);margin-top:3px}
.kv{display:grid;grid-template-columns:minmax(90px,38%) 1fr;gap:6px 12px;margin:14px 0 0}
.kv dt{color:var(--muted)} .kv dd{margin:0;color:var(--navy);font-weight:500;min-width:0;overflow-wrap:anywhere}
.sec{font-size:14px;font-weight:600;color:var(--navy);margin-top:18px;padding-top:14px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;gap:10px;align-items:center}
.sec span{font-weight:400;color:var(--muted)}
.plist{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:5px}
.plist li{display:flex;justify-content:space-between;gap:10px}
.plist li > span{color:var(--muted);text-align:right}
.rowacts{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}
/* 1.13.1 (GX 16/10): η καρτέλα της εγγραφής ανοίγει διπλάσια (1.040 px), σύρεται, αλλάζει μέγεθος· η θέση θυμάται (app.js) */
.drawer{position:fixed;top:10px;right:10px;bottom:10px;width:min(1040px,calc(100vw - 24px));background:var(--paper);z-index:50;border:1px solid var(--line-soft);border-radius:16px;box-shadow:0 30px 90px -30px rgba(1,35,87,.55);display:flex;flex-direction:column;overflow:hidden;transform:translateX(102%);transition:transform .18s ease}
.drawer.open{transform:none}
.drawer.free{right:auto;bottom:auto;max-height:calc(100vh - 20px)}
.drawer.dragging{transition:none;user-select:none}
.drawer .dbody{flex:1;min-height:0;overflow-y:auto}
.drawer .x{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px 4px 14px;flex:none;z-index:2;cursor:grab}
.drawer.dragging .x{cursor:grabbing}
.drawer .x .grip{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12.5px;min-width:0;overflow:hidden;white-space:nowrap}
.drawer .x .grip b{letter-spacing:-2px;font-size:15px;color:var(--faint);flex:none}
.drawer .x .rt{display:flex;gap:6px;align-items:center;flex:none}
.drawer .rsz{position:absolute;left:0;top:0;bottom:0;width:7px;cursor:ew-resize;border-radius:16px 0 0 16px}
.drawer .rsz:hover,.drawer.dragging .rsz{background:rgba(13,91,219,.16)}
.drawer .rszc{position:absolute;left:0;bottom:0;width:18px;height:18px;cursor:nesw-resize;border-radius:0 0 0 16px;background:linear-gradient(45deg,transparent 48%,rgba(13,91,219,.45) 48% 54%,transparent 54%,transparent 68%,rgba(13,91,219,.45) 68% 74%,transparent 74%)}
.drawer.wide .kv{grid-template-columns:minmax(90px,16%) 1fr minmax(90px,16%) 1fr;column-gap:26px}
.drawer.wide .kv dt.fg{grid-column:1/-1}
.drawer.wide .rcols{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;align-items:start}
.drawer.wide .rh2{font-size:21px}
.scrim{position:fixed;inset:0;background:rgba(1,35,87,.25);z-index:49}
.hist{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:9px}
.hist li{font-size:13px;line-height:1.4}
.hist li small{display:block;color:var(--muted);font-size:12px}

/* ── φόρμες και παράθυρα ── */
dialog{border:0;padding:0;border-radius:18px;width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 24px);color:var(--ink);box-shadow:0 30px 80px -20px rgba(1,35,87,.5);overflow:hidden}
dialog.wide{width:min(820px,calc(100vw - 24px))}
dialog.wide.xwide{width:min(1380px,calc(100vw - 24px))}     /* 1.13.0: ο πίνακας της Εισαγωγής πολλών μαζί */
dialog::backdrop{background:rgba(1,35,87,.35)}
dialog form,dialog .dlgbody{display:flex;flex-direction:column;max-height:calc(100vh - 24px)}
.dh{padding:18px 20px 12px;border-bottom:1px solid var(--line-soft);display:flex;gap:12px;align-items:flex-start}
.dh h2{font-size:18px;font-weight:700;color:var(--navy);line-height:1.2;flex:1}
.dh p{color:var(--muted);margin-top:4px;font-size:13px}
.db{padding:16px 20px;overflow-y:auto}
.df{padding:12px 20px 16px;border-top:1px solid var(--line-soft);display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}
.df .err{margin-right:auto;color:var(--bad);font-weight:500;flex:1 1 200px}
.fg{font-size:13px;font-weight:600;color:var(--navy);margin:18px 0 8px;padding-top:14px;border-top:1px solid var(--line-soft)}
.fg:first-child{margin-top:0;padding-top:0;border-top:0}
.grid6{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.f{grid-column:span 3;display:flex;flex-direction:column;gap:4px;min-width:0}
.f.full{grid-column:1 / -1}.f.third{grid-column:span 2}
.f label{font-size:13px;font-weight:500;color:var(--navy)}
.f label i{font-style:normal;color:var(--bad);margin-left:2px}
.f input[type=text],.f input[type=email],.f input[type=tel],.f input[type=date],.f input[type=number],.f input[type=password],.f input[type=url],.f select,.f textarea{
  width:100%;min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}
.f textarea{min-height:84px;resize:vertical;line-height:1.45}
.f textarea.tall{min-height:260px}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}
.f input[type=color]{width:64px;height:38px;padding:2px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}
.f .help{font-size:12.5px;color:var(--muted);line-height:1.4}
.f .cmt{font-size:12.5px;color:var(--blue-deep);background:var(--sky-tint);border-radius:7px;padding:5px 8px;line-height:1.4}
/* 1.16.2 (GX 17/10, Β1/Β3/Β4): πλαίσιο που κρατά μαζί ένα τικ με τα πεδία του· πεδία γκρι όσο το τικ είναι κλειστό· μεγάλοι τίτλοι κατηγοριών */
.fgnote{font-size:12.5px;color:var(--blue-deep);background:var(--sky-tint);border-radius:7px;padding:7px 10px;line-height:1.45;margin:-2px 0 10px}
.fbox{grid-column:1 / -1;border:1px solid var(--line-soft);border-radius:12px;padding:10px 12px 6px;background:var(--mist)}
.fbox .grid6{margin:0}
.f.off{opacity:.45}
.f.off input,.f.off select{background:var(--mist);pointer-events:none}
.apiform.biggrp .fg{font-size:16px;font-weight:700;letter-spacing:.2px;margin:22px 0 10px;padding-top:16px;border-top:2px solid var(--line)}
.apiform.biggrp .fg:first-child{margin-top:0;padding-top:0;border-top:0}
.f .e{font-size:12.5px;color:var(--bad);font-weight:500}
.f.bad input,.f.bad select,.f.bad textarea{border-color:var(--bad)}
.f.check{flex-direction:row;align-items:flex-start;gap:9px}
.f.check label{font-weight:400;color:var(--ink)}
.locked{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:12px}
.locked b{color:var(--navy)}
.whybox{margin-top:16px;padding:12px 14px;border-radius:var(--r-md);background:var(--head);border:1px solid var(--line-soft)}
.caps{display:grid;gap:6px;margin-top:6px}
.caps label{display:flex;gap:9px;align-items:flex-start;font-weight:400;color:var(--ink)}

/* ── μικρά μηνύματα ── */
#toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:11px 16px;border-radius:12px;z-index:90;max-width:min(560px,calc(100vw - 30px));box-shadow:0 14px 40px -14px rgba(1,35,87,.6);font-weight:500}
#toast.bad{background:var(--bad)}
.bar{position:fixed;left:0;right:0;top:0;z-index:95;background:var(--navy);color:#fff;padding:10px 16px;display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}
.bar .btn{min-height:30px}
.pop{position:absolute;z-index:60;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 22px 60px -22px rgba(1,35,87,.45);width:min(360px,calc(100vw - 20px));overflow:hidden}
.pop .q{padding:8px 10px;border-bottom:1px solid var(--line-soft)}
.pop .q input{width:100%;height:34px;border:0;border-radius:17px;background:var(--mist);padding:0 12px;outline:0}
.pop .list{max-height:min(420px,60vh);overflow-y:auto}
.opt{display:grid;grid-template-columns:8px 1fr auto;gap:11px;align-items:center;padding:10px 12px;border:0;border-top:1px solid var(--line-soft);background:none;width:100%;text-align:left;cursor:pointer}
.opt:first-child{border-top:0}
.opt:hover{background:var(--head)}
.opt .sw{align-self:stretch;border-radius:4px;background:var(--c)}
.opt b{display:block;line-height:1.25}
.opt .r{font-size:12.5px;color:var(--muted);display:block;line-height:1.35}
.opt.cur{background:var(--head)}
.opt.locked{opacity:.6;cursor:default}

/* ── αναζήτηση και μετάβαση ── */
#palette{width:min(600px,calc(100vw - 24px));margin-top:10vh}
#palette input{width:100%;height:54px;border:0;border-bottom:1px solid var(--line-soft);padding:0 18px;font-size:16px;outline:0}
#palette .res{max-height:52vh;overflow-y:auto;padding:6px}
#palette .it{display:flex;gap:11px;align-items:center;padding:8px 12px;border-radius:9px;cursor:pointer;color:var(--ink)}
#palette .it.on{background:var(--mist)}
#palette .it img{width:28px;height:28px;border-radius:7px;border:1px solid var(--line-soft)}
#palette .it .g{margin-left:auto;font-size:12px;color:var(--faint);white-space:nowrap}
#palette .it .k{font-size:12.5px;color:var(--muted);display:block}
#palette .it .sw{width:8px;height:28px;border-radius:4px;background:var(--c)}
#palette .none{padding:22px;text-align:center;color:var(--muted)}

/* ── αρχική ── */
.hello{font-size:28px;font-weight:700;color:var(--navy);letter-spacing:-.02em;line-height:1.1}
.cols{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:start;margin-top:20px}
.awaybox .row{display:grid;grid-template-columns:9px 1fr;gap:10px;padding:10px 14px;border-top:1px solid var(--line-soft);align-items:start}
.awaybox .row:first-child{border-top:0}
.awaybox .row .here{margin-top:6px}
.awaybox .row.needs{background:var(--here-tint)}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:14px 8px}
.tile{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:13px;line-height:1.2;color:var(--navy);font-weight:500;padding:6px 2px;border-radius:12px}
.tile:hover{background:var(--paper);text-decoration:none}
.tile img,.tile .ph{width:58px;height:58px;border-radius:15px;border:1px solid var(--line-soft);background:var(--paper)}
.tile .ph{display:grid;place-items:center;font-weight:600;color:var(--muted);font-size:20px}
.msg{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:14px 16px;margin-top:14px;line-height:1.5}
.prop{background:var(--here-tint);border-radius:var(--r-md);padding:12px 14px;margin-bottom:8px}
.prop .w{display:flex;gap:8px;align-items:center;font-weight:600;color:var(--navy);margin-bottom:3px}
.prop .a{display:flex;gap:6px;margin-top:8px}

/* ── μητρώο καρτελών ── */
.reg th.c{width:60px;font-size:11.5px;line-height:1.2;white-space:normal}
.reg .ic{width:32px;height:32px;border-radius:8px;vertical-align:middle;margin-right:10px;border:1px solid var(--line-soft)}
.reg .ph{display:inline-grid;place-items:center;background:var(--mist);color:var(--muted);font-weight:600;font-size:13px}
.groups{border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;background:var(--paper)}
.grp-row{display:grid;grid-template-columns:230px 1fr;gap:14px;align-items:center;padding:10px 14px;border-top:1px solid var(--line-soft)}
.grp-row:first-child{border-top:0}
.grp-row .g{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--navy);line-height:1.2}
.grp-row .g img{width:38px;height:38px;border-radius:10px;border:1px solid var(--line-soft)}
.strip{display:flex;gap:6px;flex-wrap:wrap}
.strip button{border:0;background:none;padding:0;cursor:pointer;border-radius:9px;display:flex;align-items:center;gap:7px;color:var(--ink);font-size:13px;padding-right:8px}
.strip button:hover{background:var(--mist)}
.strip img,.strip .ph{width:34px;height:34px;border-radius:9px;border:1px solid var(--line-soft);display:block;background:var(--paper)}
.strip .ph{display:grid;place-items:center;color:var(--muted);font-weight:600}

/* ── ρόλοι ── */
.rm th.c{font-size:12px;text-align:center;font-weight:500;line-height:1.2;white-space:normal;width:86px}
.rm td.c{text-align:center}
.capline{font-size:12.5px;color:var(--muted);line-height:1.4}

/* ── παραμετρικά ── */
.pm{display:grid;grid-template-columns:210px minmax(0,1fr);border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;background:var(--paper)}
.pm .l{background:var(--head);padding:10px 8px;border-right:1px solid var(--line-soft)}
.pm .l .g{font-size:12px;color:var(--faint);padding:6px 8px 3px}
.pm .l a{display:block;padding:7px 9px;border-radius:8px;color:var(--ink);line-height:1.25}
.pm .l a.cur{background:var(--paper);color:var(--navy);font-weight:600;box-shadow:0 0 0 1px var(--line-soft)}
.pm .r{padding:6px 20px 18px;min-width:0}
.setting{padding:16px 0;border-top:1px solid var(--line-soft)}
.setting:first-child{border-top:0}
.setting h3{font-size:15px;font-weight:600;color:var(--navy);line-height:1.25}
.setting .help{color:var(--muted);font-size:13px;margin-top:3px;max-width:640px}
.srow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 12px;padding:8px 0;border-top:1px solid var(--line-soft);align-items:center;margin-top:10px}
.srow + .srow{margin-top:0}
.srow .k{color:var(--muted)}
.val{display:inline-block;border:1px solid var(--line);border-radius:7px;padding:2px 9px;background:var(--paper);color:var(--navy);font-weight:500;max-width:420px;white-space:pre-wrap;overflow-wrap:anywhere}
.lockline{display:flex;gap:7px;align-items:center;color:var(--muted)}
.lockline svg{color:var(--faint)}

/* ── σελίδες χωρίς κέλυφος (είσοδος, πρόσκληση, επιλογή μονάδας) ── */
body.bare{background:var(--paper);min-height:100vh;display:grid;grid-template-columns:minmax(0,440px);justify-content:center;align-content:start;padding:7vh 22px 30px}
.bare .logo{width:230px;max-width:70%;display:block;margin:0 0 34px -8px}
.bare h1{font-size:26px;font-weight:700;color:var(--navy);letter-spacing:-.02em;line-height:1.12}
.bare p.lead{color:var(--muted);margin-top:8px;line-height:1.5}
.bare .stack{display:grid;gap:10px;margin-top:22px}
.bare .foot{margin-top:34px;font-size:12px;color:var(--faint)}
.steps{display:grid;margin-top:18px}
.step{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--line-soft)}
.step:first-child{border-top:0}
.step > b{display:block;font-size:15px;line-height:1.25}
.step .d{color:var(--muted);font-size:13px;display:block;margin-top:2px;line-height:1.4}
.stepn{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:600;border:1.5px solid var(--line);color:var(--muted)}
.stepn.done{background:var(--ok-tint);border-color:var(--ok-tint);color:var(--ok)}
.stepn.done svg{width:12px;height:12px;stroke-width:2.6}
.stepn.now{border-color:var(--here);color:var(--navy);box-shadow:0 0 0 3px var(--here-tint)}
.step .body2{margin-top:10px;display:grid;gap:10px}
.pick{display:grid;gap:10px;margin-top:18px}
.pick .opt{border:1px solid var(--line);border-radius:14px;padding:13px 13px 13px 10px}
.pick .opt.cur{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy);background:var(--paper)}
.policy{border:1px solid var(--line);border-radius:12px;padding:12px 14px;max-height:230px;overflow-y:auto;font-size:13px;line-height:1.5;background:var(--head);white-space:pre-wrap}
.alert{background:var(--bad-tint);color:var(--bad);border-radius:10px;padding:10px 12px;font-weight:500}
.info{background:var(--sky-tint);color:var(--blue-deep);border-radius:10px;padding:10px 12px}

/* ── κάτω μπάρα κινητού ── */
.tabbar{display:none}

/* ════════ μεσαίες οθόνες ════════ */
@media (max-width:1180px){
  .body.has-side{grid-template-columns:236px minmax(0,1fr)}
  .side{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);height:auto;z-index:50;box-shadow:-18px 0 50px -20px rgba(1,35,87,.35)}
  .cols{grid-template-columns:1fr}
}

/* ════════ κινητό ════════ */
@media (max-width:760px){
  body{font-size:15px}
  :root{--top:58px}
  .top{padding:0 12px;gap:10px;background:var(--u)}
  .top .brand{display:none}
  .top .brand-sm{display:block}
  .top .search,.top .away span.txt,.top .sp{display:none}
  .unitsw{flex:1;border:0;background:transparent;padding:4px 0}
  .unitsw .sw{display:none}
  .unitsw .t b,.unitsw .t span{color:#fff}
  .unitsw .t span{opacity:.88}
  .unitsw svg{color:#fff}
  .away .here{box-shadow:0 0 0 3px rgba(255,255,255,.35)}
  .me{background:rgba(255,255,255,.2)}
  .unitline{display:none}
  .body,.body.has-side{display:block}
  .nav{display:none;position:fixed;inset:58px 0 62px 0;height:auto;z-index:40;border-right:0;padding:14px 14px 20px}
  .nav.open{display:flex}
  .nav a{padding:11px 10px;font-size:16px}
  .main{padding:16px 14px 90px}
  .pagehead{grid-template-columns:1fr}
  .pagehead h1{font-size:23px}
  .pagehead .acts{justify-content:flex-start}
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;background:var(--paper);border-top:1px solid var(--line-soft);padding:7px 6px calc(9px + env(safe-area-inset-bottom));z-index:45;font-size:11.5px;color:var(--muted);text-align:center}
  .tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;gap:3px;color:inherit;background:none;border:0;padding:2px 0;cursor:pointer}
  .tabbar a:hover{text-decoration:none}
  .tabbar svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .tabbar .cur{color:var(--navy);font-weight:600}
  .side{top:58px;width:100vw}
  .drawer,.drawer.free{width:100vw;top:0;right:0;bottom:0;left:auto;height:auto;border-radius:0;border:0}
  .drawer .x .grip,.drawer .rsz,.drawer .rszc,.drawer [data-drawer-size]{display:none}
  /* οι πίνακες γίνονται κάρτες */
  table.tbl.stack,table.tbl.stack tbody,table.tbl.stack tr,table.tbl.stack td{display:block;width:auto}
  table.tbl.stack{border:0;background:transparent;overflow:visible}
  table.tbl.stack thead{display:none}
  table.tbl.stack tr{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-lg);margin-bottom:8px;padding:10px 12px;position:relative}
  table.tbl.stack td{border:0;padding:2px 0;display:grid;grid-template-columns:42% 1fr;gap:10px}
  table.tbl.stack td::before{content:attr(data-l);color:var(--muted);font-size:13px}
  table.tbl.stack td.main{display:block;font-size:16px;padding-bottom:5px;padding-right:30px}
  table.tbl.stack td.main::before{display:none}
  table.tbl.stack td.ck{position:absolute;right:12px;top:11px;width:auto;display:block}
  table.tbl.stack td.ck::before{display:none}
  table.tbl.stack td:empty,table.tbl.stack td.isempty{display:none}   /* 1.13.1 (Β26): κενό κελί = ούτε η ετικέτα του στο κινητό */
  /* 1.6.0: στο κινητό 3 στήλες μετά την κύρια, οι υπόλοιπες πίσω από «περισσότερα» (η σειρά μένει αυτή της λίστας) */
  table.tbl.stack tr:not(.open) td.xtra{display:none}
  table.tbl.stack td.moretd{display:block;padding:6px 0 0}
  table.tbl.stack td.moretd::before{display:none}
  table.tbl.stack tr.open td.moretd .more{display:none}
  .orgmap{display:none}
  .orglist{display:block}
  .ol{border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;background:var(--paper);margin-bottom:10px}
  .ol .c{display:flex;justify-content:space-between;gap:10px;padding:11px 14px;font-weight:600;color:var(--navy);background:var(--head)}
  .ol .c span{font-weight:400;color:var(--muted)}
  .ol .t{padding:9px 14px;border-top:1px solid var(--line-soft)}
  .ol .t .tn{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-bottom:6px}
  .grid6{grid-template-columns:1fr}
  .f,.f.third,.f.full{grid-column:1 / -1}
  dialog,dialog.wide,dialog.wide.xwide{width:100vw;max-width:100vw;max-height:100vh;height:100vh;border-radius:0;margin:0}
  dialog form,dialog .dlgbody{max-height:100vh;height:100vh}
  .db{flex:1}
  .pm{grid-template-columns:1fr}
  .pm .l{border-right:0;border-bottom:1px solid var(--line-soft);display:flex;gap:4px;overflow-x:auto;padding:8px}
  .pm .l .g{display:none}
  .pm .l a{white-space:nowrap}
  .pm .r{padding:4px 14px 14px}
  .srow{grid-template-columns:1fr auto}
  .grp-row{grid-template-columns:1fr}
  .tools .q{max-width:none;flex-basis:100%}
  .tools select{flex:1 1 40%;max-width:none;min-width:0}
  .maplegend{display:none}
  #toast{bottom:78px}
  .reg-wrap{overflow-x:auto}
  .hello{font-size:24px}
  body.bare{padding-top:5vh}
}

/* ════════ εκτύπωση ════════ */
@media print{
  body{background:#fff;font-size:11pt}
  .top,.unitline,.nav,.tabbar,.tools,.bulk,.pager,.pagehead .acts,#toast,.drawer,.scrim,.noprint{display:none!important}
  .body{display:block}
  .main{padding:0}
  .tbl{border-color:#999}
  .tbl th,.tbl td{border-color:#bbb;padding:5px 7px}
}
.printhead{display:flex;align-items:center;gap:18px;border-bottom:2px solid var(--navy);padding-bottom:10px;margin-bottom:14px}
.printhead img{height:64px}
.printhead h1{font-size:20px;color:var(--navy)}
.printhead p{color:var(--muted);font-size:12.5px}
body.printpage{background:#fff;padding:20px 24px}

/* ════════ συμπληρώσεις 1.0.0 ════════ */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hello-sub{color:var(--muted);margin-top:6px;font-size:15px}
h2.sub2.first{margin-top:0}
.formfoot{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:14px;flex-wrap:wrap}
.formfoot .err{margin-right:auto;color:var(--bad);font-weight:500}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:3px;gap:2px}
.seg a{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:7px;color:var(--ink);font-weight:500;white-space:nowrap}
.seg a:hover{text-decoration:none;background:var(--head)}
.seg a.on{background:var(--navy);color:#fff}
.btn.on{border-color:var(--blue);background:var(--sky-tint)}
.addunit{width:26px;height:26px;border-radius:7px;border:1px dashed var(--line);background:none;color:var(--faint);display:inline-grid;place-items:center;cursor:pointer;opacity:0;padding:0}
.orgmap td:hover .addunit,.addunit:focus-visible{opacity:1}
.addunit:hover{border-color:var(--blue);color:var(--blue)}
.addunit svg{width:13px;height:13px}
.orgmap .gone{opacity:.55}
.unit b{font-weight:600}
.side .x{display:flex;justify-content:flex-end;padding:8px 10px 0;position:absolute;right:0;top:6px;z-index:2}
.side .in{padding-top:18px}
.side h2{padding-right:34px}
.logorow{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.logorow img{max-height:64px;max-width:200px;border:1px solid var(--line-soft);border-radius:8px;padding:4px;background:#fff}
.retirerow{margin-top:18px;padding-top:12px;border-top:1px solid var(--line-soft);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.linkbtn.danger{color:var(--bad)}
.alist{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:9px}
.alist li{display:flex;gap:10px;align-items:flex-start}
.alist li .w{flex:1;min-width:0;line-height:1.35;color:var(--navy)}
.alist li.past{opacity:.6}
.alist .chip{margin-top:1px;flex:none}
.alist .cmt{display:block;font-size:12.5px;color:var(--blue-deep);background:var(--sky-tint);border-radius:7px;padding:4px 8px;margin-top:4px;font-weight:400}
.alist .cmt.hid{background:var(--mist);color:var(--muted)}
.savebar{margin-top:12px;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:14px 16px}
.gi.ph,.si.ph{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--mist);color:var(--muted);font-weight:600;border:1px solid var(--line-soft)}
.grp-row .g .sub{font-weight:400}
.scope{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.scope-units{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.chip.pickable{min-height:30px;cursor:pointer;padding-right:10px;gap:7px;background:var(--paper);border:1px solid var(--line)}
.chip.pickable:has(input:checked){background:var(--sky-tint);border-color:var(--blue)}
.props{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px;margin-bottom:14px}
.props .prop{margin-bottom:0}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:16px}
.stat{display:flex;flex-direction:column;gap:3px}
.stat .k{color:var(--muted);font-size:13px}
.stat b{font-size:18px;font-weight:700;color:var(--navy)}
.val.long{display:block;max-width:none;font-weight:400;max-height:150px;overflow-y:auto}
/* 1.16.3 (Δ2): τα τρία επίπεδα του Βαλάκι, ένα ένα */
[data-valaki-levels] .val.long,[data-valaki-models] .val.long{max-height:none;white-space:normal}
.lvrow{padding:5px 0;border-bottom:1px dashed var(--line)}
.lvrow:last-of-type{border-bottom:0}
.lvrow .lvtop{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.lvrow .lvtop code{font-size:13px}
.lvrow .sub{margin-top:2px}
.srow:has(.val.long){grid-template-columns:1fr auto}
.srow:has(.val.long) .k{grid-column:1 / -1}
.tbl.perm th,.tbl.perm td{padding:6px 8px;font-size:13px}
.tbl.perm th.c{font-size:12px;white-space:normal;line-height:1.2}
.away:hover{text-decoration:none}
.imp{margin-top:4px}
.imp td{font-size:13px;padding:6px 9px}
.imp .msg-bad{color:var(--bad)}
.impsum{display:flex;gap:8px;flex-wrap:wrap}
.reg-wrap{overflow-x:auto}
.tbl thead th .sub{font-size:11.5px}

/* είσοδος και πρόσκληση */
.keyhint{font-size:12.5px;color:var(--muted);line-height:1.45;margin:-2px 2px 0}
.or{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:13px;margin:6px 0 2px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.loginform{display:grid;gap:12px}
.loginform .f input{min-height:46px;font-size:16px}
.bare .f input[type=text],.bare .f input[type=password]{min-height:46px;font-size:16px}
.bare .note{margin-top:22px}
.bare .linkbtn{justify-self:center;padding:8px}
.code4{letter-spacing:.5em;text-align:center;font-size:22px!important;font-weight:600}
.pickq{margin-top:16px}
.pickq input{width:100%;height:42px;border:1px solid var(--line);border-radius:21px;padding:0 16px;outline:0;background:var(--mist)}
.policy.tall{max-height:46vh}
.step > div{min-width:0}
.step > div > b{display:block;font-size:15px;line-height:1.25}
.stepn svg{width:12px;height:12px}
input[type=file]{font-size:14px;max-width:100%}

@media (max-width:760px){
  .seg{display:flex}
  .seg a{flex:1;justify-content:center}
  .addunit{opacity:1}
  .side .x{position:static;padding:8px 10px 0}
  .statrow{grid-template-columns:1fr}
  .savebar{position:sticky;bottom:70px}
}
@media print{
  body.printpage{padding:0}
  .printhead img{height:52px}
}

/* ════════ συμπληρώσεις 1.0.2 ════════ */

/* ── μενού που μαζεύει ── */
.nav .tg{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;text-align:left;cursor:pointer;color:var(--ink);font:inherit;line-height:1.25;border-radius:9px;padding:7px 10px}
.nav .tg.grp{font-size:12px;color:var(--faint);padding:12px 10px 4px}
.nav .tg.grp:hover{color:var(--muted)}
.nav .tg .i{margin-left:auto;width:14px;height:14px;color:var(--faint);transition:transform .15s;flex:none}
.nav .tg:not(.open) .i{transform:rotate(-90deg)}
.nav .tg.sub{font-weight:500;color:var(--navy)}
.nav .tg.sub:hover{background:var(--head)}
.nav .tg.sub img{width:24px;height:24px;border-radius:6px;border:1px solid var(--line-soft);margin-left:-4px}
.nav .tg.sub .n{font-size:12px;color:var(--muted);font-weight:400;margin-left:auto}
.nav .tg.sub .n + .i{margin-left:6px}
.nav .items{display:flex;flex-direction:column;gap:2px}
.nav .items.sub a{padding-left:22px}
.nav .items.sub a img{width:22px;height:22px}
.nav .recent{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}
.nav .recent .grp{font-size:11.5px;padding:6px 10px 2px}
.nav .recent + a{margin-top:2px}
.nav .recent .tg.rec{font-size:11.5px;padding:6px 10px 2px;color:var(--muted)}
.nav .recent .recitems{display:flex;flex-direction:column;gap:2px}

/* ── ο κρίκος ── */
.f{position:relative}
.linkpin{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;border:0;background:var(--sky-tint);color:var(--blue-deep);cursor:pointer;margin-left:6px;vertical-align:-5px;padding:0}
.linkpin .i{width:12px;height:12px}
.linkpin.wait{background:var(--mist);color:var(--muted)}
.linkpin:hover{background:var(--sky-tint);color:var(--blue)}
.linkpop{position:absolute;left:0;top:26px;z-index:70;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 22px 60px -22px rgba(1,35,87,.45);width:min(340px,calc(100vw - 40px));padding:12px 14px;font-size:13px;line-height:1.45;font-weight:400}
.linkpop > b{display:flex;align-items:center;gap:7px;margin-bottom:6px}
.linkpop .row{padding:7px 0}
.linkpop .row b{display:inline}
.linkpop .row .st{margin-left:6px;vertical-align:1px}
.linkpop .foot{color:var(--muted);font-size:12px;margin-top:6px;padding-top:6px;border-top:1px solid var(--line-soft)}
.tbl.links td{vertical-align:middle}

/* ── εταιρείες και μονάδες: λογότυπα, υπεύθυνοι, άδειες, ιστορικό ── */
.orgmap tbody th .clogo{display:block;height:30px;width:auto;max-width:140px;border-radius:6px;border:1px solid var(--line-soft);background:#fff;padding:3px;margin-bottom:6px}
.ol .c .clogo{height:22px;width:auto;border-radius:5px;border:1px solid var(--line-soft);background:#fff;padding:2px;margin-right:8px;vertical-align:middle}
.alist li .w small.sub{margin-top:2px}
.hist li i{font-style:normal;color:var(--blue-deep)}
.tbl.seira th,.tbl.seira td{padding:7px 9px;font-size:13px}
.printhead img + img{height:48px;padding-left:18px;border-left:1px solid var(--line)}

/* ── η κίνηση του λογοτύπου στην είσοδο ── */
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --r{syntax:'<percentage>';inherits:false;initial-value:0%}
body.introing{overflow:hidden}
.intro{position:fixed;inset:0;background:#fff;z-index:200;display:grid;place-items:center;cursor:pointer}
.intro .stage{position:relative;width:min(330px,74vw);aspect-ratio:462/240;animation:intro-pulse .6s ease-in-out 4.6s}
@media (min-width:900px){.intro .stage{width:min(560px,42vw)}}
.intro .glow{position:absolute;inset:-30% -20%;background:radial-gradient(ellipse at 50% 50%,rgba(13,91,219,.22),transparent 62%);opacity:0;animation:intro-glow .6s ease-in-out 4.6s;pointer-events:none}
.intro .sk,.intro .co{position:absolute;inset:0;width:100%;height:100%;display:block}
.intro .sk{--a:0deg;-webkit-mask-image:conic-gradient(at 24% 16%,#000 var(--a),transparent var(--a));mask-image:conic-gradient(at 24% 16%,#000 var(--a),transparent var(--a));animation:intro-sweep 2s linear .4s forwards}
.intro .co{--r:0%;-webkit-mask-image:radial-gradient(circle at 24% 16%,#000 var(--r),transparent calc(var(--r) + 4%));mask-image:radial-gradient(circle at 24% 16%,#000 var(--r),transparent calc(var(--r) + 4%));animation:intro-fill 1.5s cubic-bezier(.4,0,.2,1) 3s forwards}
.intro .rays{position:absolute;left:24%;top:16%;width:200%;aspect-ratio:1;transform:translate(-50%,-50%);overflow:visible;pointer-events:none}
.intro .rays line{stroke:var(--navy);stroke-width:1.1;stroke-linecap:round;stroke-dasharray:190;stroke-dashoffset:190;opacity:0;animation:intro-shoot .6s ease-out forwards}
/* το πορτοκαλί εδώ είναι η σφαίρα του λογοτύπου, όχι η κουκκίδα «εδώ είσαι» */
.intro .rays line.o{stroke:#ff700a;stroke-width:1.4}
.intro .dot{position:absolute;left:24%;top:16%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#ff700a;box-shadow:0 0 0 4px #fff0e2;animation:intro-dot .5s ease-out forwards}
.intro .skip{position:fixed;left:50%;bottom:max(28px,env(safe-area-inset-bottom));transform:translateX(-50%);border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:20px;padding:7px 16px;font:inherit;font-size:13px;cursor:pointer;opacity:0;animation:intro-skip .4s ease-out .9s forwards}
@keyframes intro-sweep{to{--a:360deg}}
@keyframes intro-fill{to{--r:150%}}
@keyframes intro-shoot{0%{stroke-dashoffset:190;opacity:0}12%{opacity:.95}65%{stroke-dashoffset:0;opacity:.75}100%{stroke-dashoffset:0;opacity:0}}
@keyframes intro-dot{0%{transform:scale(0);opacity:0}60%{transform:scale(1.5);opacity:1}100%{transform:scale(0);opacity:0}}
@keyframes intro-pulse{0%{transform:scale(1)}45%{transform:scale(1.05)}100%{transform:scale(1)}}
@keyframes intro-glow{0%{opacity:0}45%{opacity:1}100%{opacity:0}}
@keyframes intro-skip{to{opacity:1}}

@media (max-width:760px){
  .nav .tg.sub{padding:11px 10px;font-size:16px}
  .nav .tg.grp{font-size:13px}
  .nav .items.sub a{padding-left:26px}
  .orgmap tbody th .clogo{display:none}
}

/* ════════ συμπληρώσεις 1.0.3 ════════ */
/* η Διαχείριση ως τόπος */
.opt.adm .sw{background:var(--navy)}
.opt.adm b{display:flex;align-items:center;gap:7px}
.opt.adm b svg{width:15px;height:15px;color:var(--navy);flex:none}
.pick .lbl{font-size:12px;color:var(--faint);padding:14px 2px 0}
.pick .lbl:first-child{padding-top:0}
.unitsw.adm .t b{display:flex;align-items:center;gap:6px}
.unitsw.adm .t b svg{width:14px;height:14px;color:var(--navy);flex:none}
.pop .lbl{font-size:11.5px;color:var(--faint);padding:10px 12px 2px;border-top:1px solid var(--line-soft)}
.pop .lbl:first-child{border-top:0}
.pop .opt.adm{border-top:0}
.gl{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.glhead{font-size:12.5px;font-weight:700;color:var(--muted);margin:10px 0 6px;letter-spacing:.2px}.glhead:first-of-type{margin-top:0}
.gl a{display:flex;flex-direction:column;gap:3px;padding:12px 14px;background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-md);color:var(--navy);text-decoration:none}
.gl a:hover{border-color:var(--line);text-decoration:none}
.gl a b{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.gl a span{font-size:13px;font-weight:500}
.gl a small{font-size:12px;color:var(--muted)}
.hist2{list-style:none;margin:0;padding:0}
.hist2 li{padding:9px 14px;border-top:1px solid var(--line-soft);font-size:13.5px;line-height:1.4}
.hist2 li:first-child{border-top:0}
.hist2 li small{display:block;color:var(--muted);font-size:12px}
.hist2 li i{font-style:normal;color:var(--blue-deep)}
/* πρόσκληση από την εφαρμογή */
.fromline{font-size:12.5px;color:var(--muted);margin:6px 0 0}
.sentok{color:var(--ok);font-size:12.5px;display:block;margin-bottom:6px}
.sentbad{color:var(--bad);font-size:12.5px;display:block;margin-bottom:6px}
.sentok svg,.sentbad svg{width:13px;height:13px;vertical-align:-2px}
.st-line:empty{display:none}
/* 1.0.5: όταν ο browser κρατά τον ήχο της πρώτης σελίδας μέχρι το πρώτο άγγιγμα */
.intro .taphint{position:fixed;left:50%;bottom:calc(max(28px,env(safe-area-inset-bottom)) + 48px);transform:translateX(-50%);background:var(--navy);color:#fff;border-radius:20px;padding:8px 16px;font-size:13px;white-space:nowrap;box-shadow:0 10px 30px -12px rgba(1,35,87,.5);animation:intro-hint 1.6s ease-in-out infinite}
@keyframes intro-hint{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-4px)}}
/* ΚΣ: πάτημα = αντιγραφή */
.kscopy{border:0;background:none;padding:2px 4px;margin-left:4px;border-radius:6px;color:var(--faint);cursor:copy;vertical-align:-3px;opacity:0;transition:opacity .12s}
.kscopy svg{width:13px;height:13px}
tr:hover .kscopy,.kscopy:focus-visible{opacity:1}
.kscopy:hover{background:var(--sky-tint);color:var(--blue-deep)}
@media (hover:none){.kscopy{opacity:.7}}
/* 1.0.5: η πρώτη σελίδα σε μεγάλη οθόνη — το λογότυπο μεγάλο αριστερά, η είσοδος δεξιά (Μ14γ) */
@media (min-width:900px){
  body.bare.login{grid-template-columns:minmax(0,1180px);padding:0 32px;align-content:center;min-height:100vh}
  body.bare.login main{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:80px;align-items:center}
  body.bare.login main > .logo{width:100%;max-width:700px;margin:0;justify-self:end}
  body.bare.login main > .sheet{min-width:0}
  body.bare.login .sheet h1{font-size:23px}
  body.bare.login .sheet p.lead{font-size:14px}
  body.bare.login .sheet .btn.big{min-height:44px;font-size:15px}
  body.bare.login .sheet .f input[type=text],body.bare.login .sheet .f input[type=password]{min-height:42px;font-size:15px}
  body.bare.login .sheet .keyhint,body.bare.login .sheet .note{font-size:13px}
  body.bare.login .foot{margin-top:24px}
}
/* όσο παίζει η κίνηση, η είσοδος περιμένει· όταν το λογότυπο κάθεται, τα στοιχεία της έρχονται ένα ένα */
body.introing .sheet > *{opacity:0}
body.landed .sheet > *{animation:sheet-in .55s cubic-bezier(.2,.7,.2,1) both}
body.landed .sheet > *:nth-child(1){animation-delay:.05s}
body.landed .sheet > *:nth-child(2){animation-delay:.12s}
body.landed .sheet > *:nth-child(3){animation-delay:.19s}
body.landed .sheet > *:nth-child(4){animation-delay:.26s}
body.landed .sheet > *:nth-child(5){animation-delay:.33s}
body.landed .sheet > *:nth-child(n+6){animation-delay:.4s}
@keyframes sheet-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){body.landed .sheet > *{animation:none;opacity:1}}
/* το μενού του λογαριασμού */
.me{border:0;cursor:pointer;font:inherit;font-weight:600;font-size:13px}
.memenu{width:min(300px,calc(100vw - 16px));padding:6px 0;z-index:65}
.memenu .who{padding:10px 14px 8px;border-bottom:1px solid var(--line-soft);display:flex;flex-direction:column;line-height:1.3}
.memenu .who b{color:var(--navy)}
.memenu .item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:0;background:none;color:var(--navy);font:inherit;text-align:left;cursor:pointer;text-decoration:none}
.memenu .item:hover{background:var(--head);text-decoration:none}
.memenu .item svg{width:16px;height:16px;color:var(--muted)}
.memenu .item.exit{color:var(--bad)}
.memenu .item.exit svg{color:var(--bad)}
.memenu .exitform{margin:0;border-top:1px solid var(--line-soft);padding-top:4px;margin-top:4px}
.tabbar button{appearance:none;border:0;background:none;font:inherit}
/* 1.0.6: έλεγχος υγείας «θέλει τακτοποίηση» */
.mark.warn{background:var(--mist);color:var(--navy);font-weight:700;font-size:12px}


/* ── συμπληρώσεις 1.1.0: ο φάκελος, οι συνδέσεις ΚΣ↔ΚΣ, ο φάκελος υπόθεσης, το μενού Β ── */
.fak{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.att{position:relative;display:flex;flex-direction:column;gap:3px;border:1px solid var(--line-soft);border-radius:10px;overflow:hidden;background:var(--paper);min-width:0}
.att .th{display:flex;align-items:center;justify-content:center;height:84px;background:var(--mist);overflow:hidden;text-decoration:none}
.att .th img{width:100%;height:100%;object-fit:cover}
.att .ext,.picked .ext,.tl .ext{display:inline-block;font-weight:700;font-size:12px;color:#fff;background:var(--navy);border-radius:6px;padding:3px 8px;letter-spacing:.04em;text-decoration:none}
.att .ext.xlsx,.tl .ext.xlsx{background:var(--ok)}
.att .nm{font-size:12.5px;font-weight:500;color:var(--navy);padding:4px 8px 0;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.att small{font-size:11px;color:var(--muted);padding:0 8px 7px;line-height:1.3}
.att small.nt{padding-top:0;margin-top:-5px;color:var(--ink)}
.att .rm,.lnks .rm{position:absolute;top:4px;right:4px;width:24px;height:24px;border:0;border-radius:6px;background:rgba(255,255,255,.9);color:var(--muted);cursor:pointer;display:none;align-items:center;justify-content:center;padding:0}
.att:hover .rm,.att:focus-within .rm,.lnks li:hover .rm,.lnks li:focus-within .rm{display:inline-flex}
.lnks .rm{position:static;display:inline-flex;width:20px;height:20px;vertical-align:middle;margin-left:4px;background:transparent;opacity:0}
.lnks li:hover .rm,.lnks li:focus-within .rm{opacity:1}
.retiredfiles{margin-top:8px}
.lnks{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:7px}
.lnks li{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;align-items:baseline;font-size:13px}
.lnks .lbl{font-size:11.5px;font-weight:600;color:var(--blue-deep);background:var(--sky-tint);border-radius:6px;padding:2px 7px;white-space:nowrap}
.lnks .lbl.in{color:#5b3fb0;background:#f1ebfd}
.lnks .ks{font-weight:700;color:var(--navy);text-decoration:none}
.lnks .ks:hover{text-decoration:underline}
.lnks .tt{color:var(--ink)}
.lnks small{grid-column:2;color:var(--muted);font-size:12px}
@media (pointer:coarse){.att .rm,.lnks .rm{display:inline-flex;opacity:1}}
/* το παράθυρο «Αρχείο στον φάκελο» */
.drop{display:block;border:2px dashed var(--line);border-radius:14px;padding:22px;text-align:center;color:var(--muted);background:var(--head);cursor:pointer}
.drop b{display:block;color:var(--navy);font-size:15px;margin-bottom:4px}
.drop.over,.drop:focus{border-color:var(--blue);background:var(--sky-tint);outline:0}
.picked{display:grid;gap:8px;margin-top:12px}
.picked .it{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line-soft);border-radius:10px;padding:6px 10px;background:var(--paper)}
.picked .it img{width:48px;height:48px;object-fit:cover;border-radius:7px}
.picked .it .ext{width:48px;text-align:center;padding:14px 0;border-radius:7px}
.picked .it input{width:100%;border:1px solid var(--line);border-radius:7px;padding:5px 8px;font:inherit;color:var(--ink)}
.picked .it small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.picked .it small .e{color:var(--bad);font-weight:500}
/* το παράθυρο «Σύνδεση με εγγραφή» */
.res{display:grid;gap:6px;margin-top:8px;max-height:260px;overflow-y:auto}
.res .d{color:var(--muted);font-size:13px;padding:6px 2px}
.res .r{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid var(--line-soft);border-radius:10px;padding:8px 12px;cursor:pointer;background:var(--paper)}
.res .r:hover,.res .r:focus{border-color:var(--blue);outline:0}
.res .r.on{border-color:var(--blue);background:var(--sky-tint)}
.res .r b{color:var(--navy);white-space:nowrap}
.res .r small{color:var(--muted);font-size:12px;display:block}
.res .r .ck{visibility:hidden;color:var(--blue)}
.res .r.on .ck{visibility:visible}
.preview{background:var(--sky-tint);color:var(--blue-deep);border-radius:10px;padding:10px 12px;margin-top:12px;font-size:13.5px;line-height:1.45}
.preview b{color:var(--navy)}
/* ο φάκελος υπόθεσης */
.filters{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:12px 0 16px}
.filters .grow{flex:1}
.case{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}
.tl{list-style:none;margin:0;padding:0 0 0 22px;border-left:2px solid var(--line);display:grid;gap:14px}
.tl li{position:relative}
.tl li::before{content:"";position:absolute;left:-29px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:3px solid var(--blue)}
.tl li.file::before{border-color:var(--ok)}
.tl li.change::before{border-color:var(--faint);width:8px;height:8px;left:-27px;top:8px}
.tl li.now::before{display:none}
.tl li.now > .here{position:absolute;left:-30px;top:4px;width:12px;height:12px;box-shadow:0 0 0 4px var(--here-tint)}
.tl .when{font-size:12px;color:var(--muted);font-weight:500}
.tl .card{background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:10px 14px;margin-top:3px;font-size:13.5px;line-height:1.45}
.tl .card .ks,.tl .card b.ks{color:var(--navy);font-weight:700;text-decoration:none}
.tl .card a.ks:hover{text-decoration:underline}
.tl .card .cn{font-size:12px;color:var(--muted);margin-left:8px}
.tl .card p{margin:4px 0 0}
.tl .card .row{display:flex;gap:10px;align-items:center;margin-top:6px;flex-wrap:wrap}
.tl .card .row img{width:56px;height:42px;object-fit:cover;border-radius:6px;display:block}
.tl .card .sub{display:block}
.thread{background:var(--paper);border:1px solid var(--line-soft);border-radius:14px;padding:14px 16px;position:sticky;top:calc(var(--top) + 12px)}
.thread h3{margin:0 0 8px;font-size:14px;color:var(--navy)}
.thread ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.thread li{display:grid;gap:2px;font-size:13px;padding-left:12px;border-left:3px solid var(--line)}
.thread li.now{border-color:var(--navy)}
.thread li.now .here{margin-right:2px;vertical-align:1px}
.thread li.far{border-style:dashed}
.thread li.more{border:0;padding-left:0}
.thread li b{color:var(--navy)}
.thread li b a{color:inherit;text-decoration:none}
.thread li b a:hover{text-decoration:underline}
.thread li span{font-size:12px;color:var(--muted)}
.thread li .lbl{display:inline-block;font-size:11px;font-weight:600;color:var(--blue-deep);background:var(--sky-tint);border-radius:5px;padding:1px 6px;margin-right:4px;width:max-content}
/* η Διάθεση καρτέλας (1.1.1) */
.disp{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}
.disp .chip{min-height:26px;padding-right:9px}
.disp .chip.dim{opacity:.5}
.pilotgrp{margin-top:10px}
.pilotgrp .fg{margin-bottom:6px}
.pilotgrp .chips{gap:6px}
/* το μενού Β: το σημείωμα για τη Διαχείριση */
.navnote{font-size:12px;color:var(--muted);padding:10px 18px;border-top:1px solid var(--line-soft);line-height:1.45}
.navnote kbd{font:inherit;font-size:11px;border:1px solid var(--line);border-radius:4px;padding:0 4px;background:var(--paper)}
@media (max-width: 900px){
  .case{grid-template-columns:1fr}
  .thread{position:static}
  .fak{grid-template-columns:repeat(2,1fr)}
  .att .th{height:110px}
}

/* ───────── συμπληρώσεις 1.1.2 ───────── */
.res .r small .chip.lu{margin-right:6px;vertical-align:middle;font-size:11px;min-height:19px}
.lnks li .chip,.case .card .chip,.thread .chip{font-size:11px;min-height:19px;vertical-align:middle;margin-left:2px}

/* ───────── συμπληρώσεις 1.2.0: αλυσίδες (ο δρόμος), «Περιμένουν εσένα», το γραφικό της υπόθεσης ───────── */
.road{margin:14px 0 4px;background:var(--head);border:1px solid var(--line-soft);border-radius:12px;padding:12px 14px}
.road.bad{border-color:#f0c4c4}
.road .rh{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px;color:var(--muted);margin-bottom:12px}
.road .rh b{color:var(--navy);font-size:13.5px;white-space:nowrap}
.rsteps{display:flex;align-items:flex-start;position:relative}
.rstep{flex:1;min-width:0;position:relative;padding-right:8px}
.rstep i{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--paper);border:2px solid var(--line);color:var(--muted);font-style:normal;font-weight:600;font-size:12.5px;position:relative;z-index:1}
.rstep i svg.i{width:14px;height:14px}
.rstep::after{content:"";position:absolute;top:12px;left:30px;right:2px;height:2px;background:var(--line)}
.rstep:last-child::after{display:none}
.rstep.done i{background:var(--ok);border-color:var(--ok);color:#fff}
.rstep.done::after{background:var(--ok)}
.rstep.now i.here{width:26px;height:26px;display:inline-flex;background:var(--here);border-color:var(--here);color:#fff;box-shadow:0 0 0 0 rgba(255,112,10,.55);animation:road-pulse 1.6s ease-out infinite}
.rstep.now.bad i.here{background:var(--bad);border-color:var(--bad);animation-name:road-pulse-bad}
@keyframes road-pulse{0%{box-shadow:0 0 0 0 rgba(255,112,10,.55)}70%{box-shadow:0 0 0 9px rgba(255,112,10,0)}100%{box-shadow:0 0 0 0 rgba(255,112,10,0)}}
@keyframes road-pulse-bad{0%{box-shadow:0 0 0 0 rgba(196,43,43,.5)}70%{box-shadow:0 0 0 9px rgba(196,43,43,0)}100%{box-shadow:0 0 0 0 rgba(196,43,43,0)}}
.rstep span{display:block;font-size:12.5px;font-weight:600;color:var(--navy);margin-top:6px;line-height:1.25}
.rstep small{display:block;font-size:11.5px;color:var(--muted);line-height:1.3;margin-top:2px}
.rstep.now small.nowtxt{color:#c75500;font-weight:500}
.rstep.now.bad small.nowtxt{color:var(--bad)}
.rstep.done.now i.here{background:var(--ok);border-color:var(--ok);animation:none;box-shadow:none}
.road .story{margin-top:12px;padding:10px 12px;background:var(--paper);border-radius:9px;border:1px solid var(--line-soft);font-size:13px;line-height:1.45}
.road .story summary{cursor:pointer;list-style:none}
.road .story summary::-webkit-details-marker{display:none}
.road .story summary b{color:var(--navy)}
.road .story summary::after{content:"λεπτομέρειες";float:right;font-size:11.5px;color:var(--muted)}
.road .story[open] summary::after{content:"λιγότερα"}
.road .story .q,.chain .story2 .q{color:var(--muted)}
.road .story > div{margin-top:4px}
.road .rowacts{margin-top:10px}
.road .roadhist{margin-top:10px;font-size:12.5px}
.road .roadhist summary{cursor:pointer;color:var(--muted)}
.lockbar{margin-top:12px;background:var(--bad-tint);color:var(--bad);border-radius:10px;padding:10px 12px;font-size:13px;display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.lockbar svg.i{width:18px;height:18px;margin-top:1px}
.lockbar b{color:var(--bad)}
.lockbar.ok{background:var(--ok-tint);color:var(--ok)}
.lockbar.ok b{color:var(--ok)}
/* η προθεσμία ως χρώμα: πράσινο μακριά, πορτοκαλί κάτω από μία ημέρα (θέλει εσένα σύντομα), κόκκινο πέρασε ή κλείδωσε */
.due{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap;vertical-align:middle}
.due::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.due.ok{background:var(--ok-tint);color:var(--ok)}
.due.soon{background:#fff0e2;color:#c75500}
.due.late{background:var(--bad-tint);color:var(--bad)}
.due.wait{background:var(--sky-tint);color:var(--blue-deep)}
.due.done{background:var(--mist);color:var(--muted)}
.due.pulse::before{animation:due-blink 1.2s ease-in-out infinite}
@keyframes due-blink{50%{opacity:.25}}
td .due{white-space:normal;text-align:left}
.st.cnt.here{display:inline-flex;width:auto;height:auto;min-width:22px;justify-content:center;background:var(--here);color:#fff;border-radius:20px;padding:1px 7px;font-size:12px;box-shadow:none;margin-left:6px;vertical-align:2px}
.waith{display:flex;align-items:center}
.waitbox .row{display:grid;grid-template-columns:9px 1fr auto;gap:10px;padding:10px 14px;border-top:1px solid var(--line-soft);align-items:start}
.waitbox .row:first-child{border-top:0}
.waitbox .row .here{margin-top:6px}
.waitbox .row b{display:block}
.waitbox .row a{color:inherit}
.tile{position:relative}
.tilecnt{position:absolute;top:-6px;right:-6px}
/* η αλυσίδα ως δήλωση, στην ταυτότητα της καρτέλας */
.chain{margin-top:8px}
.chain .cs{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--line-soft)}
.chain .cs:first-child{border-top:0}
.chain .cs i{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-style:normal;font-weight:600;font-size:12.5px}
.chain .cs i.fin{background:var(--ok)}
.chain .cs i svg.i{width:14px;height:14px}
.chain .cs b{display:block;color:var(--navy)}
.chain .cs .ln{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.5}
.chain .cs .ln .chip{min-height:20px;font-size:12px;margin:0 3px 0 0;vertical-align:middle}
.chain .cs .ln .st{font-size:12px;padding:1px 8px;vertical-align:middle}
.chain .cs .ln .arr{color:var(--blue-deep);font-weight:500}
.chain .cnt{font-size:12.5px;color:var(--muted);margin-top:8px}
/* μεμονωμένη σύνδεση */
.st.iso{background:var(--mist);color:var(--muted);font-size:11px;padding:1px 7px;margin-left:4px;vertical-align:middle}
/* το γραφικό της υπόθεσης (Μ28) */
.case[data-case]{display:block;margin-top:14px;border:1px solid var(--line-soft);border-radius:12px;background:var(--head);padding:12px 14px}
.case[data-case] .t{font-size:13px;color:var(--navy);font-weight:600;margin-bottom:4px}
.case[data-case] .s{font-size:12.5px;color:var(--muted);line-height:1.45}
.graph{display:block;width:100%;height:auto;margin:10px 0 4px;max-height:420px}
.graph text{font-family:'Geologica',system-ui;font-size:11.5px;fill:var(--navy)}
.graph text.sm{font-size:10.5px;fill:var(--muted)}
.graph text.ks{font-weight:600}
.graph text.newword{fill:#c75500;font-weight:600}
.graph .edge{stroke:#9fb0cc;stroke-width:2}
.graph .edge.iso{stroke-dasharray:3 4}
.graph .edge.new{stroke:#c75500;stroke-width:2.5;stroke-dasharray:6 5;animation:gdash 1.2s linear infinite}
@keyframes gdash{to{stroke-dashoffset:-22}}
.graph .node{fill:#fff;stroke:#9fb0cc;stroke-width:1.5}
.graph .node.n-me{stroke:#c75500;stroke-width:2.5}
.graph .node.n-to{stroke:var(--blue);stroke-width:2.5}
.graph .hull{fill:rgba(13,91,219,.06);stroke:rgba(13,91,219,.25);stroke-width:1;stroke-dasharray:4 4}
.graph .hull.b{fill:rgba(255,112,10,.07);stroke:rgba(255,112,10,.35)}
.casegraph{margin-bottom:14px}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.opt2{display:block;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;cursor:pointer}
.opt2:has(input:checked){border-color:var(--blue);background:var(--sky-tint)}
.opt2 input{position:absolute;opacity:0;width:0;height:0}
.opt2 b{display:block;font-size:13px}
.opt2 span{display:block;font-size:12px;color:var(--muted);line-height:1.4;margin-top:3px}
@media (max-width:760px){
  .opts{grid-template-columns:1fr}
  .waitbox .row{grid-template-columns:9px 1fr}
  .waitbox .row .due{grid-column:2}
}
@media (prefers-reduced-motion:reduce){.rstep.now i.here,.due.pulse::before,.graph .edge.new{animation:none}}

/* ── συμπληρώσεις 1.3.0: τα δύο Βαλάκια ── */
/* Η σφαίρα του λογοτύπου είναι το Βαλάκι. Ο μετρητής πάνω της είναι η κουκκίδα (θέλει εσένα): .st.cnt.here, όπως στην Αρχική. */
.vkbtn{width:42px;height:42px;border:0;background:none;padding:0;cursor:pointer;position:relative;flex:none;margin-right:2px;border-radius:50%}
.vkbtn img{width:36px;height:36px;display:block;margin:3px;filter:drop-shadow(0 2px 5px rgba(255,112,10,.35));transition:transform .15s ease}
.vkbtn:hover img,.vkbtn[aria-expanded=true] img{transform:scale(1.08)}
.vkbtn .vkn{position:absolute;right:-5px;top:-3px;box-shadow:0 0 0 2px #fff}
.drawer .x .vkbtn.drw{width:34px;height:34px;margin:0 6px 0 0}
.drawer .x .vkbtn.drw img{width:28px;height:28px}
.vk{position:fixed;top:0;right:0;bottom:0;width:min(470px,100vw);background:var(--paper);z-index:52;box-shadow:-18px 0 50px -20px rgba(1,35,87,.35);display:flex;flex-direction:column;font-size:14px;transform:translateX(102%);transition:transform .18s ease}
.vk.open{transform:none}
.vk .hd{display:flex;align-items:center;gap:10px;padding:13px 16px 11px;border-bottom:1px solid var(--line-soft);flex:none}
.vk .hd img{width:34px;height:34px;flex:none}
.vk .hd .t{flex:1;min-width:0}
.vk .hd b{font-size:16px;display:block;color:var(--navy);line-height:1.2}
.vk .hd .sub{margin:0;white-space:normal;line-height:1.25;display:block;font-size:12.5px}   /* 1.13.1 (Δ43): ο υπότιτλος τυλίγει, δεν κόβεται */
.vk .hd .btn .lbl{display:none}.vk .hd .btn{flex:none}
.vk .body{flex:1;min-height:0;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:12px}
.vk .vkedo{display:contents}
.vk .vkwait{color:var(--muted);text-align:center;padding:30px 0}
.vk .hc{background:var(--mist);border-radius:12px;padding:11px 14px 12px}
.vk .vknew{margin:0;padding:11px 14px 12px}
.vk .hc .tt,.vk .vknew .tt{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--navy)}
.vk .hc .tt .lbl,.vk .vknew .tt .lbl{font-size:11.5px;color:var(--faint);font-weight:500;margin-left:auto}
.vk .hc p,.vk .vknew p{margin-top:5px;line-height:1.45}
.vk .hc p.now{color:var(--navy)}
.vk .vknew ul{margin:6px 0 0;padding-left:18px;line-height:1.45}
.vk .vknew .acts,.vk .hlinks{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
.vk .hlinks{font-size:12.5px;margin-top:8px}
.vk .sugg{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.vk .sugg button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:5px 11px;font-size:12.5px;color:var(--ink);cursor:pointer;line-height:1.2;text-align:left}
.vk .sugg button:hover{border-color:var(--blue);color:var(--navy)}
.vk .vknote{font-size:12.5px;color:var(--muted);background:var(--head);border-radius:10px;padding:8px 12px;line-height:1.4}
.vk .thread{display:flex;flex-direction:column;gap:12px;position:static;top:auto}
.vk .thread:empty{display:none}
.vk .mu{align-self:flex-end;max-width:86%;background:var(--sky-tint);border-radius:14px 14px 4px 14px;padding:9px 13px;color:var(--navy);line-height:1.45;white-space:pre-wrap;word-wrap:break-word}
.vk .mv{display:grid;grid-template-columns:26px 1fr;gap:8px;max-width:96%}
.vk .mv .sph{width:24px;height:24px;margin-top:4px;border-radius:50%;background:url(../brand/sfaira.png) center/contain no-repeat}
.vk .mv.thinking .sph{animation:vkpulse 1.1s ease-in-out infinite}
@keyframes vkpulse{0%,100%{transform:scale(.85);opacity:.6}50%{transform:scale(1.05);opacity:1}}
.vk .mv .bb{background:var(--paper);border:1px solid var(--line-soft);border-radius:4px 14px 14px 14px;padding:10px 13px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.vk .mv .bb.bad{background:var(--bad-tint);border-color:var(--bad-tint);color:var(--bad)}
.vk .mv .bb p{margin:0}
.vk .mv .bb p + p,.vk .mv .bb ul,.vk .mv .bb ol,.vk .mv .bb table{margin-top:6px}
.vk .mv .bb ul,.vk .mv .bb ol{padding-left:18px}
.vk .mv .bb li{margin:2px 0}
.vk .mv .acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.vk .mv .src{font-size:11.5px;color:var(--faint);margin-top:7px}
.vk table.mini{border-collapse:collapse;font-size:13px;width:100%}
.vk table.mini th,.vk table.mini td{padding:4px 8px 4px 0;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top}
.vk table.mini th{color:var(--muted);font-weight:500;font-size:12px}
.vk .ft{padding:10px 16px 14px;border-top:1px solid var(--line-soft);flex:none}
.vk .inp{display:flex;align-items:flex-end;gap:6px;background:var(--mist);border-radius:22px;padding:5px 5px 5px 14px;margin:0}
.vk .inp textarea{flex:1;border:0;background:none;resize:none;min-height:30px;max-height:120px;line-height:22px;padding:4px 0;outline:0;color:var(--ink);font:inherit}
.vk .inp .ic{width:34px;height:34px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;background:none;color:var(--muted);flex:none}
.vk .inp .ic.on{background:var(--sky-tint);color:var(--blue-deep)}
/* 1.16.3 (GX 17/10 21:08): όσο το Βαλάκι ακούει, η σφαίρα χτυπά σαν καρδιά και το μικρόφωνο «αναπνέει» */
@keyframes vkbeat{0%,100%{transform:scale(1)}14%{transform:scale(1.16)}28%{transform:scale(1)}42%{transform:scale(1.12)}70%{transform:scale(1)}}
@keyframes vkring{0%{box-shadow:0 0 0 0 rgba(255,112,10,.45)}100%{box-shadow:0 0 0 12px rgba(255,112,10,0)}}
body.listening .vkbtn img,body.listening .tabbar .vkt img{animation:vkbeat 1.1s ease-in-out infinite}
body.listening .vk .inp .ic.on{animation:vkring 1.1s ease-out infinite;background:var(--orange-tint,#fff1e6);color:var(--orange,#ff700a)}
@media (prefers-reduced-motion:reduce){body.listening .vkbtn img,body.listening .tabbar .vkt img,body.listening .vk .inp .ic.on{animation:none}}
.vk .inp .go{background:var(--blue);color:#fff}
.vk .inp .go[disabled]{opacity:.5}
.vk .lvl{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11.5px;color:var(--faint)}
.vk .lvl .seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.vk .lvl .seg button{padding:2px 9px;color:var(--muted);border:0;background:none;cursor:pointer;font:inherit;font-size:11.5px}
.vk .lvl .seg button.on{background:var(--paper);color:var(--navy);font-weight:600}
.vk .ftn{font-size:11.5px;color:var(--faint);margin-top:8px;line-height:1.4}
.vk .vkbudget{font-size:11.5px;color:var(--faint);text-align:center}
.vkscrim{position:fixed;inset:0;z-index:51;background:transparent}
/* η φόρμα που ετοίμασε το Βαλάκι: τα συμπληρωμένα πεδία και το σήμα */
.f.vkfill input,.f.vkfill select,.f.vkfill textarea{border-color:var(--blue);box-shadow:0 0 0 3px var(--sky-tint)}
.vktag{display:inline-flex;align-items:center;gap:6px;background:var(--sky-tint);color:var(--blue-deep);border-radius:999px;padding:3px 10px 3px 4px;font-size:12.5px;font-weight:500;margin-top:8px}
.vktag::before{content:"";width:20px;height:20px;border-radius:50%;background:url(../brand/sfaira.png) center/contain no-repeat;flex:none}
.hist small .vktag{margin:0 0 0 4px;padding:1px 7px 1px 2px;font-size:11px;vertical-align:middle}
.hist small .vktag::before{width:14px;height:14px}
/* Παραμετρικά: ο μετρητής του μηνιαίου ορίου */
.meter{display:block;height:6px;border-radius:3px;background:var(--mist);margin:6px 0 4px;max-width:320px;overflow:hidden}
.meter span{display:block;height:6px;border-radius:3px;background:var(--ok)}
.meter span.warn{background:#c75500}
.meter span.bad{background:var(--bad)}
/* το εγχειρίδιο */
.manual{max-width:900px}
.manual ul.plain{margin:0;padding-left:20px;line-height:1.55}
.manual .mcard h3{font-size:16px;color:var(--navy);display:flex;align-items:center;gap:8px}
.manual .mcard h3 img{width:28px;height:28px;border-radius:7px}
.manual .mcard .tbl{margin-top:8px}
.manual .mchain{margin:8px 0 0;padding-left:22px;line-height:1.55}
.manual .mchain li{margin-bottom:8px}
.manual .box.pad + .box.pad{margin-top:12px}
.pagehead h1 .sphh{width:34px;height:34px;vertical-align:-6px;margin-right:8px}
@media (max-width:760px){
  .vk{width:100vw;bottom:62px;z-index:44}
  .vk .hd .lbl{display:none}
  .tabbar:has(.vkt){grid-template-columns:repeat(5,1fr)}
  .tabbar .vkt{position:relative}
  .tabbar .vkt img{width:24px;height:24px;display:block}
  .tabbar .vkt .vkn{position:absolute;top:-2px;left:calc(50% + 6px)}
  .vkbtn{display:none}
}
@media (prefers-reduced-motion:reduce){.vk .mv.thinking .sph{animation:none}}
@media print{.vk,.vkbtn,.vkscrim{display:none!important}}

/* ── συμπληρώσεις 1.4.0: το Φυτώριο καρτελών ── */
.fy{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}
.fylist{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:12px;position:sticky;top:calc(var(--top) + 12px);max-height:calc(100vh - var(--top) - 24px);overflow-y:auto}
.fylist input[type=search]{width:100%;border:1px solid var(--line);border-radius:9px;padding:7px 10px;margin-bottom:6px;background:var(--head);font:inherit}
.fylist .grp{font-size:11.5px;color:var(--faint);font-weight:600;letter-spacing:.02em;margin:10px 4px 4px;display:flex;justify-content:space-between}
.fylist .grp span{font-weight:500;letter-spacing:0}
.fylist a{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;color:var(--ink);line-height:1.2}
.fylist a:hover{background:var(--head);text-decoration:none}
.fylist a.on{background:var(--sky-tint);color:var(--navy);font-weight:600}
.fylist a .nm{flex:1;min-width:0;white-space:normal;line-height:1.2}   /* 1.13.1 (Δ45): τα ονόματα των καρτελών τυλίγουν, δεν κόβονται */
.fylist a .dot{width:9px;height:9px;border-radius:50%;flex:none;border:2px solid var(--faint);background:transparent}
.fylist a .dot.a{background:var(--ok);border-color:var(--ok)}
.fylist a .here{margin:0 2px}
.fylist a small{color:var(--faint);font-size:11px;white-space:nowrap}
.fylist .cnt{display:flex;gap:10px;font-size:12px;color:var(--muted);margin:12px 4px 4px;flex-wrap:wrap}
.fywork{min-width:0}
.fyhead{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.fyhead .big,.fyhead img.big{width:48px;height:48px;border-radius:12px;border:1px solid var(--line-soft);background:var(--paper);display:grid;place-items:center;font-weight:600;color:var(--muted);font-size:20px}
.fyhead .t{flex:1;min-width:200px}
.fyhead .h1x{font-size:24px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:10px;flex-wrap:wrap;line-height:1.1}
.fyhead .vers{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;align-items:center;font-size:12.5px;color:var(--muted)}
.fyhead .acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fytabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:4px 0 16px;flex-wrap:wrap;align-items:center}
.fytabs .brk{flex-basis:100%;height:0}
.fytabs .grp2{white-space:nowrap;font-size:11px;color:var(--faint);padding:0 8px 0 2px;letter-spacing:.02em;font-weight:600}
.fytabs a{padding:9px 12px;color:var(--muted);font-weight:500;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}
.fytabs a:hover{text-decoration:none;color:var(--navy)}
.fytabs a.on{color:var(--navy);border-color:var(--navy)}
.fytabs a .n{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:9px;background:var(--bad-tint);color:var(--bad);font-size:11px;font-weight:600;margin-left:5px;padding:0 5px}
.fytabs a .n.ok{background:var(--ok-tint);color:var(--ok)}
.fytabs a .n.wait{background:var(--sky-tint);color:var(--blue-deep)}
.fybox{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:16px 18px;margin-bottom:14px;min-width:0}
.fybox h2{font-size:15px;color:var(--navy);display:flex;align-items:center;gap:10px;margin-bottom:4px;flex-wrap:wrap}
.fybox h2 .sub{display:inline;margin:0 0 0 4px}
.fybox h2 .r{margin-left:auto;display:flex;gap:6px}
.fybox > p{color:var(--muted);font-size:13px;margin-bottom:12px;line-height:1.45}
.fybox .kv{margin-top:6px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.tag{display:inline-flex;align-items:center;font-size:11px;font-weight:600;border-radius:5px;padding:1px 6px;line-height:1.5;white-space:nowrap}
.tag.new{background:var(--ok);color:#fff}.tag.chg{background:var(--blue);color:#fff}.tag.ret{background:var(--faint);color:#fff}
.tag.v{background:var(--sky-tint);color:var(--blue-deep)}.tag.d{background:#fdf4e2;color:#8a5a00}.tag.a{background:var(--ok-tint);color:var(--ok)}
.fl{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fl li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--paper)}
.fl li.new{border-color:#b7e3cc;background:#f3fbf7}
.fl li.ret{opacity:.65;background:var(--head)}
.fl li .grip{display:flex;flex-direction:column;gap:0;min-width:22px}
.fl li .grip .btn{min-height:16px;padding:0 4px;font-size:11px;line-height:1}
.fl li .nm{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.fl li .nm b{white-space:nowrap}
.fl li .nm code{font-size:11.5px;color:var(--faint);background:var(--mist);border-radius:4px;padding:1px 5px}
.fl li .props{display:flex;gap:4px;flex-wrap:wrap;font-size:11.5px;color:var(--muted)}
.fl li .props span{background:var(--mist);border-radius:5px;padding:1px 6px}
.fl li .props span.req{background:var(--sky-tint);color:var(--blue-deep)}
.fl li .props span.hid{background:#fdf4e2;color:#8a5a00}
.fl li .props span.lnk{background:var(--ok-tint);color:var(--ok)}
.fl li .cm{grid-column:2 / span 2;font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:-2px}
.fl li .cm.hid::before{content:"κρυφό · ";color:#8a5a00;font-weight:600}
.fl li .cm.vis::before{content:"φανερό · ";color:var(--ok);font-weight:600}
.fl li .ra{display:flex;gap:2px}
.pmx{width:100%;border-collapse:collapse}
.pmx th,.pmx td{padding:8px 10px;border-bottom:1px solid var(--line-soft);text-align:center;font-size:13px}
.pmx th{font-weight:500;color:var(--muted);background:var(--head);font-size:12.5px}
.pmx td:first-child,.pmx th:first-child{text-align:left}
.pmx td:first-child b{display:block}
.pmx td:first-child span{font-size:11.5px;color:var(--faint)}
.pmx .ck{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;border:1.5px solid var(--line);background:var(--paper);vertical-align:middle}
.pmx .ck.on{background:var(--ok);border-color:var(--ok);color:#fff}
.pmx .ck.on svg{width:12px;height:12px;stroke:#fff;stroke-width:3}
.pmx .ck.chg{box-shadow:0 0 0 2px var(--sky-tint),0 0 0 3.5px var(--blue)}
.pmx input[type=checkbox]{width:18px;height:18px}
.exp{display:grid;gap:6px;margin-top:8px}
.exp div{font-size:13px;padding:7px 10px;background:var(--head);border-radius:8px;line-height:1.45}
.stg{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;align-items:stretch}
.stg .s{border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:var(--paper);position:relative;font-size:13px;min-width:0}
.stg .s.fin{border-style:dashed}
.stg .s .k{font-size:11px;color:var(--faint);display:flex;justify-content:space-between;gap:6px;padding-right:90px}
.stg .s > b{display:block;font-size:14px;margin:2px 0 6px;padding-right:90px}
.stg .s .row{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
.stg .s .row span{background:var(--mist);border-radius:5px;padding:1px 7px;font-size:12px}
.stg .s .row span.who{background:var(--sky-tint);color:var(--blue-deep)}
.stg .s .row span.dl{background:#fdf4e2;color:#8a5a00}
.stg .s .mv{margin-top:8px;display:grid;gap:3px;font-size:12px;color:var(--muted)}
.stg .s .story{margin-top:8px;font-size:12px;color:var(--muted);line-height:1.45}
.stg .s .story b{color:var(--navy)}
.stg .s .ed{position:absolute;right:8px;top:8px;display:flex;gap:2px}
.stg .s .ord{display:flex;gap:2px;margin-top:8px}
.diff{display:grid;gap:6px}
.diff > div{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 12px;border-radius:9px;background:var(--head);font-size:13px;line-height:1.4}
.diff > div.add{background:#f3fbf7}
.diff > div.chg{background:var(--sky-tint)}
.diff > div.rm{background:var(--mist);color:var(--muted)}
.diff .what{font-size:11.5px;color:var(--faint);white-space:nowrap}
.chk{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.chk li{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:start;padding:7px 10px;border-radius:8px;font-size:13.5px;line-height:1.4}
.chk li.ok{background:#f3fbf7}
.chk li.bad{background:var(--bad-tint)}
.chk li.warn{background:#fdf4e2}
.chk li .mark{margin-top:1px}
.chk li .mark.warn{background:#fff;color:#b26b00;border:1.5px solid #e7b55e;font-weight:700;font-size:12px}
.chk li small{display:block;color:var(--muted);font-size:12.5px;margin-top:1px}
.chk li .t{color:var(--faint);font-size:12px;white-space:nowrap}
.ready{margin-top:12px;padding:12px 14px;border-radius:10px;font-weight:600;display:flex;gap:10px;align-items:center}
.ready.ok{background:var(--ok-tint);color:var(--ok)}
.ready.no{background:var(--bad-tint);color:var(--bad)}
.ready.wait{background:#fdf4e2;color:#8a5a00}
.cap{font-size:12.5px;color:var(--muted);margin-top:8px;line-height:1.45}
.pbar{display:flex;gap:8px;align-items:center;padding:8px 12px;background:var(--head);border:1px solid var(--line-soft);border-radius:12px 12px 0 0;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.pbar .seg{padding:2px;flex-wrap:wrap}
.pbar .seg a{min-height:26px;padding:0 10px;font-size:12.5px}
.prevbox{border:1px solid var(--line-soft);border-top:0;border-radius:0 0 12px 12px;padding:14px 16px;min-height:120px;background:var(--mist)}
.prevbox .prevform form.apiform{background:var(--paper);border-radius:12px;border:1px solid var(--line-soft)}
.prevbox .prevform .dh{padding:14px 16px 0}
.prevbox .prevform .db{padding:0 16px}
.prevbox .prevform .df{padding:12px 16px 16px}
.prevbox .prevform [data-close]{display:none}
.prevbox .prevform .f.newf input,.prevbox .prevform .f.newf select,.prevbox .prevform .f.newf textarea{border-color:var(--ok);box-shadow:0 0 0 3px #e2f5ec}
.prevbox .prevpanel{background:var(--paper);border-radius:12px;border:1px solid var(--line-soft);overflow:hidden}
.prevbox .vkwait{color:var(--muted);text-align:center;padding:30px 0}
.req{display:grid;gap:8px}
.req .r{border:1px solid var(--line-soft);border-radius:10px;padding:10px 12px;background:var(--paper)}
.req .r .h{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.req .r .h b{flex:1}
.req .r p{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.45}
.req .trk{display:flex;align-items:center;margin-top:9px;font-size:11.5px;color:var(--faint)}
.req .trk span{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;text-align:center}
.req .trk span::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--paper);border:2px solid var(--line);z-index:1}
.req .trk span::after{content:"";position:absolute;top:5px;left:50%;right:-50%;height:2px;background:var(--line)}
.req .trk span:last-child::after{display:none}
.req .trk span.d::before{background:var(--ok);border-color:var(--ok)}.req .trk span.d::after{background:var(--ok)}
.req .trk span.n::before{background:var(--blue);border-color:var(--blue)}.req .trk span.n{color:var(--blue-deep);font-weight:600}
.log .v{display:grid;grid-template-columns:130px 1fr auto;gap:12px;padding:10px 4px;border-top:1px solid var(--line-soft);font-size:13px;align-items:start}
.log .v:first-child{border-top:0}
.log .v .n{font-weight:600;color:var(--navy)}
.log .v .n small{display:block;font-weight:400;color:var(--faint);font-size:11.5px}
.log .v .e{display:grid;gap:4px;min-width:0}
.log .v .e span{color:var(--muted);font-size:12.5px;line-height:1.4;overflow-wrap:anywhere}
.fyroles{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.fyroles .chip.pickable input{margin:0 2px 0 6px}
.cmap{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.cmap .me{display:flex;align-items:center;gap:8px;padding:10px 12px;border:2px solid var(--navy);border-radius:12px;background:var(--paper);font-size:14px}
.cmap .others{display:grid;gap:6px}
.cmap .o{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:13px;flex-wrap:wrap}
.cmap .o.idea{border-style:dashed;color:var(--muted)}
.cmap .o .arr{color:var(--faint);font-size:16px}
.cmap .o .how{color:var(--muted);font-size:12px;margin-left:auto}
.cmap img.gi,.cmap .gi{width:24px;height:24px;border-radius:6px}
@media (max-width:900px){.fy{grid-template-columns:1fr}.fylist{position:static;max-height:none}.fy.has-card .fylist{order:2}.two{grid-template-columns:1fr}.fytabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.fytabs .brk{display:none}.log .v{grid-template-columns:1fr}.cmap{grid-template-columns:1fr}}

/* ── συμπληρώσεις 1.5.0: το Πρωτόκολλο (αριθμητής, αποστολή, στήλες, βιβλίο) ── */
.tbl td.num{font-weight:700;color:var(--navy);white-space:nowrap;font-size:15px}
.rh2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rh2 .cardlogo{width:34px;height:34px;border-radius:8px;object-fit:contain;background:var(--paper);border:1px solid var(--line)}
.rh2 .ks2{font-size:12.5px;color:var(--muted);font-weight:500}
.printhead .cardlogo{height:48px;padding-left:18px;border-left:1px solid var(--line)}
.shares li b{display:inline;color:var(--navy)}
.shares li.dim{color:var(--muted)}
.booknav{display:flex;gap:8px;align-items:center;margin-bottom:14px}
.booknav .grow{flex:1}
.tbl.book td{vertical-align:top;font-size:12.5px;line-height:1.35}
.tbl.book th{font-size:11.5px;white-space:normal;line-height:1.25}
.tbl.book td.c-thema,.tbl.book th.c-thema{min-width:240px}
.tbl.book td.c-apo_pros,.tbl.book th.c-apo_pros{min-width:150px}
.tbl.book td.c-imerominia,.tbl.book td.c-stage{white-space:nowrap}
.tbl.book td.c-arithmos,.tbl.book td.c-num{font-weight:700;color:var(--navy);white-space:nowrap}
.tbl.book tr.void td{color:var(--muted)}
.tbl.book tr.void td b{text-decoration:line-through;color:var(--muted)}
.bookfoot{display:flex;justify-content:space-between;gap:24px;margin-top:26px;font-size:12.5px;color:var(--ink);flex-wrap:wrap}
.bookfoot .sign{text-align:center;min-width:220px}
.bookfoot .sign .line{display:inline-block;width:220px;border-top:1px solid var(--ink)}
@media print{.booknav{display:none}body.bookpage{padding:0}.tbl.book thead{display:table-header-group}.tbl.book tr{break-inside:avoid}}
.listx{overflow-x:auto;max-width:100%;scrollbar-width:thin}            /* 1.5.0: με πολλές στήλες η λίστα κυλά στο πλάι, όχι η σελίδα */
.listx .tbl{min-width:100%}
/* 1.13.1 (Δ40, Δ41): ο ΚΣ, οι αριθμοί και οι ημερομηνίες δεν σπάνε· η πρώτη στήλη έχει ελάχιστο πλάτος και δεν σπάει λέξη-λέξη·
   η λίστα δείχνει ότι κυλά στο πλάι (σκιά δεξιά) */
.ks,.ks2,.tbl td.ks,.tbl td.num,.tbl td.date,.tbl th{white-space:nowrap}
.tbl td.main{min-width:14em;overflow-wrap:normal;word-break:keep-all}
.tbl td{overflow-wrap:anywhere}
.tbl td.main,.tbl td.ttl{overflow-wrap:normal}
.listx{scrollbar-color:rgba(1,35,87,.35) transparent}
.listx.scrolls{box-shadow:inset -14px 0 12px -12px rgba(1,35,87,.25)}            /* το app.js βάζει .scrolls όταν η λίστα έχει κρυφές στήλες δεξιά */
.tools.busy .q svg{animation:spin 1s linear infinite}
@media (max-width:900px){.listx{overflow:visible}}

/* ── συμπληρώσεις 1.6.0 ── */
.moretd{display:none}
.more{background:none;border:0;padding:0;color:var(--blue);font-size:12.5px;cursor:pointer}
td.ttl b{display:block;color:var(--navy);font-weight:600}
td.ttl small{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:12px;margin-top:1px;font-weight:400}
td.ttl small .kscopy{vertical-align:middle}
table.tbl.stack td.ttl{display:block;font-size:16px}
.derive{display:flex;align-items:center;gap:12px;background:var(--sky-tint);border-radius:12px;padding:10px 14px;margin:0 0 16px}
.derive .ic{width:34px;height:34px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--blue-deep);flex:none;box-shadow:0 1px 3px rgba(1,35,87,.15)}
.derive .t{font-size:13px;line-height:1.45;color:var(--blue-deep)}
.derive .t b{color:var(--navy)}
.derive .lnk{display:inline-flex;align-items:center;gap:5px;background:#fff;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:500;color:var(--navy);margin-top:4px}
.dupe{background:var(--bad-tint);color:var(--bad);border-radius:8px;padding:8px 10px;font-size:12.5px;margin-top:6px;line-height:1.4}
.dupe a{color:var(--bad);text-decoration:underline}

/* 1.6.0 (Μ50): «Από φωτογραφία ή PDF» */
.vkread{background:var(--sky-tint);border-radius:12px;padding:12px 14px;margin:0 0 16px}
.vkread .h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.vkread .h .vktag{margin:0;font-weight:600}
.vkread .h .dim{flex:1;min-width:240px;font-size:12.5px;line-height:1.4}
.vkread .drop{margin-top:10px;padding:14px 16px;background:#fff;border-color:#b9cdf0}
.vkread .drop b{display:block;color:var(--navy)}
.vkread .drop span{display:block;font-size:12.5px;margin-top:3px}
.vkread .camera{margin-top:10px}
.vkread .busy{display:flex;align-items:center;gap:10px;margin-top:10px;color:var(--blue-deep);font-weight:500}
.vkread .busy .sph{width:22px;height:22px;border-radius:50%;background:url(../brand/sfaira.png) center/contain no-repeat;animation:vkpulse 1.1s ease-in-out infinite}
.vkread .err{color:var(--bad);margin-top:8px;font-size:13px}
.vkread.done{display:flex;gap:14px;align-items:flex-start}
.vkread.done img{width:64px;height:90px;object-fit:cover;object-position:top;border-radius:6px;box-shadow:0 1px 4px rgba(1,35,87,.25);flex:none;background:#fff}
.vkread.done .pdfico{width:64px;height:90px;border-radius:6px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;flex:none}
.vkread.done .t{flex:1;font-size:13px;line-height:1.45}
.vkread.done .t b{display:block;margin-bottom:3px}
.vkread.done .acts{display:flex;flex-direction:column;gap:6px}
.vkdot{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-size:11px;font-weight:500;color:var(--blue-deep);vertical-align:middle}
.vkdot::before{content:"";width:12px;height:12px;border-radius:50%;background:url(../brand/sfaira.png) center/contain no-repeat}
.vkwarn{background:#fff0e2;color:#c75500;border-radius:8px;padding:6px 9px;font-size:12.5px;margin-top:6px}   /* όπως το .due.soon */
.vkfile{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:12.5px;color:var(--muted)}
.vkfile b{color:var(--navy)}
@media (max-width:640px){.vkread .drop{padding:14px}.vkread.done{flex-wrap:wrap}}

/* ── συμπληρώσεις 1.7.0 («το Βαλάκι παντού») ── */
/* το λογότυπο της καρτέλας (Φυτώριο › Ταυτότητα) */
.logorow{display:flex;gap:14px;align-items:flex-start}
.cardlogo2{width:72px;height:72px;border-radius:14px;border:1px solid var(--line);background:var(--paper);object-fit:contain;padding:6px;flex:none}
.cardlogo2.ph{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:28px;color:var(--navy)}
.cardlogo2.s{width:34px;height:34px;border-radius:8px;padding:3px}
.cardlogo2.xs{width:22px;height:22px;border-radius:5px;padding:2px}
.logorow .meta{font-size:13px;color:var(--muted);line-height:1.45}
.logorow .nowlogo{margin-top:6px}
.where{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.where span{font-size:11.5px;background:var(--head);border-radius:999px;padding:2px 9px;color:var(--navy)}
/* το Βαλάκι μέσα στο Φυτώριο: η πρόταση ως κάρτα διαφοράς, το αίτημα για χτίσιμο */
.vk .vkprop{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px}
.vk .vkprop .tt{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--navy);margin-bottom:6px}
.vk .vkprop .tt img{width:18px;height:18px;border-radius:4px}
.vk .vkprop .tt .lbl{font-size:11.5px;color:var(--faint);font-weight:500;margin-left:auto}
.vk .vkprop .diff > div{grid-template-columns:auto 1fr;font-size:12.5px}
.vk .vkprop .diff .what{display:none}
.vk .vkprop .chkline{display:flex;gap:8px;align-items:center;font-size:12.5px;margin-top:8px;color:var(--muted)}
.vk .vkprop .chkline .mark{width:16px;height:16px;flex:none}
.vk .vkprop .acts{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}
.vk .vkprop p{margin:0 0 4px;font-size:13px;line-height:1.45}
.vk .vkprop p.sub{color:var(--muted);font-size:12.5px}
.vk .vkprop.done{opacity:.75}
.vk .vkprop.done .acts{display:none}
.vk .vkprop.done.again{opacity:1}.vk .vkprop.done.again .acts{display:flex}   /* 1.12.1: μετά το Ναι του όρου, «Τρέξε και με τον όρο» / «Αργότερα» */
.vk .mv .bb ol{margin:6px 0 0;padding-left:18px}
.vk .hc .tt img{width:20px;height:20px;border-radius:5px}
/* ο φάκελος: η περίληψη του Βαλάκι κάτω από κάθε αρχείο */
.vksum{display:block;color:var(--navy);margin-top:3px;line-height:1.4;font-size:12px}
.vksum b{font-weight:600}
.vksum.wait,.vksum.skip{color:var(--faint)}
.vksum.fail{color:var(--bad)}
.vksum::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:url(../brand/sfaira.png) center/contain no-repeat;vertical-align:-2px;margin-right:4px}
.vksum .cost{color:var(--faint);font-weight:400}

/* ── συμπληρώσεις 1.8.0: η Εξέλιξη, η εικόνα της καρτέλας, η στήλη «Τελευταία εξέλιξη», η εκτύπωση εγγραφής ── */
/* η Εξέλιξη (ημερολόγιο υπόθεσης) στο πάνελ */
.exel{list-style:none;margin:10px 0 0;padding:0 0 0 18px;position:relative}
.exel::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--line)}
.exel li{position:relative;margin-bottom:14px;font-size:13px;line-height:1.45;padding-right:26px}
.exel li::before{content:"";position:absolute;left:-17px;top:5px;width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 2px var(--paper)}
.exel li.old::before{background:var(--faint)}
.exel .ed{display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap}
.exel .ed b{color:var(--navy)}
.exel .ed small{color:var(--muted);font-size:12px}
.exel .etx{color:var(--ink);margin-top:2px;overflow-wrap:anywhere}
.exel .ef{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.exel .ef .chip{background:var(--paper);border:1px solid var(--line-soft);padding-right:8px;gap:7px;color:var(--navy)}
.exel .ef .chip:hover{text-decoration:none;background:var(--head)}
.exel .ef .chip .ext{font-size:10px;padding:1px 6px;border-radius:4px;display:inline-block;color:#fff;background:var(--navy);font-weight:700;letter-spacing:.04em}
.exel .ef .chip .ext.jpg,.exel .ef .chip .ext.png,.exel .ef .chip .ext.webp{background:#7a4fd0}
.exel .ef .chip .ext.xlsx{background:var(--ok)}
.exel li .rm{position:absolute;top:0;right:0;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;display:none;align-items:center;justify-content:center;padding:0}
.exel li:hover .rm,.exel li:focus-within .rm{display:inline-flex}
/* η στήλη «Τελευταία εξέλιξη» στη λίστα */
.lastx{display:block;font-size:12.5px;color:var(--ink);line-height:1.35}
.lastx b{display:block;color:var(--navy);font-weight:500}
/* ο δρόμος στη λίστα: στον υπολογιστή το σήμα του βήματος δεν σπάει σε πέντε γραμμές (παρατήρηση της Μ70) */
@media (min-width:761px){td .due{white-space:nowrap}}
/* η εικόνα της καρτέλας */
.eikona{margin-bottom:14px}
.eikona .eh,.box > .eh{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.eikona .eh b,.box > .eh b{font-size:14px;color:var(--navy)}
.eikona .eh > span,.box > .eh > span{color:var(--muted);font-size:12.5px}
.eikona .eh .btn,.box > .eh .btn{margin-left:auto}
.eikgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px 30px}
.eik{min-width:0}
.eik .et{font-size:12.5px;font-weight:600;color:var(--navy);margin-bottom:9px;display:flex;justify-content:space-between;gap:8px;align-items:center}
.eik .et > span{font-weight:400;color:var(--muted)}
.ebars{display:grid;gap:6px}
.ebar{display:grid;grid-template-columns:minmax(80px,40%) 1fr 26px;align-items:center;gap:8px;font-size:12.5px;min-width:0}
.ebar .l{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ebar a.l:hover{text-decoration:underline}
.ebar .t{height:10px;background:var(--mist);border-radius:5px;overflow:hidden}
.ebar .t i{display:block;height:100%;background:var(--blue);border-radius:0 5px 5px 0;min-width:3px}
.ebar .v{text-align:right;font-weight:600;color:var(--navy)}
.split{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:2px;margin:6px 0 4px;background:var(--mist)}
.split i{display:block;height:100%}
.split .a{background:var(--blue)}.split .b{background:var(--faint)}.split .c{background:var(--ok)}.split .d{background:#7a4fd0}
.split.beds{height:14px;border-radius:7px;margin-top:10px}      /* 1.13.0: η μπάρα των κλινών (Πληρότητα) */
.kv dt.fg{grid-column:1 / -1;margin:12px 0 2px;padding-top:8px;border-top:1px solid var(--line-soft);font-size:12.5px;letter-spacing:.2px;color:var(--navy);font-weight:700}  /* 1.13.0: υποκαρτέλες στο πάνελ (χωρίς κεφαλαία, κανόνας του σπιτιού) */
.kv dd.alert,td .alert{color:#b42318;font-weight:600}
.kv dd.alert::before,td .alert::before{content:'⚠ '}
.afora{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:6px}
.afora .it{border:1px solid var(--line-soft);border-radius:10px;padding:8px 10px;background:var(--mist)}
.afora .it .h{display:flex;justify-content:space-between;gap:8px;text-decoration:none;color:inherit}
.afora .it ul{list-style:none;margin:6px 0 0;padding:0;font-size:13px}
.afora .it li{margin:2px 0}
.afora .mini{display:inline-block;margin-top:4px}
.btn.sm .cnt{display:inline-block;min-width:18px;padding:0 6px;margin-left:4px;border-radius:9px;background:var(--navy);color:#fff;font-size:11px;text-align:center}
.vkmany{margin:8px 0;padding:8px 10px;border-left:4px solid var(--warn,#e0a21b);background:#fff8e6;border-radius:6px;font-size:13px}
.vkmany .btn{margin:0 6px}
.scantbl input.inl{min-width:110px}
.stat2{display:flex;gap:22px;margin-bottom:2px;flex-wrap:wrap}
.stat2 div b{font-size:22px;font-weight:700;color:var(--navy);display:block;line-height:1.1}
.stat2 div span{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px}
.stat2 div span::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--blue)}
.stat2 .tone-b span::before{background:var(--faint)}.stat2 .tone-c span::before{background:var(--ok)}.stat2 .tone-d span::before{background:#7a4fd0}
.duel{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.duel li{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;align-items:center;min-width:0}
.duel li .n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.duel li .n b{display:block;color:var(--navy);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.duel li .n:hover{text-decoration:none}.duel li .n:hover b{text-decoration:underline}
.duel li .due{flex:none}
.cols6 svg{width:100%;height:96px;display:block}
.cols6 .col{fill:var(--blue)}.cols6 .col.zero{fill:var(--line)}
.cols6 .col.s1{fill:var(--ok)}.cols6 .col.s2{fill:#7a4fd0}
.cols6 .cv{font-size:12px;font-weight:600;fill:var(--navy)}
.cols6 .cl{font-size:11.5px;fill:var(--muted)}.cols6 .cl.now{font-weight:600;fill:var(--navy)}
.legend{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-top:4px}
.legend span{display:inline-flex;align-items:center;gap:5px}
.legend span::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--blue)}
.legend .s1::before{background:var(--ok)}.legend .s2::before{background:#7a4fd0}
@media (max-width:760px){.eikgrid{grid-template-columns:1fr;gap:16px}.eikona .eh .btn{margin-left:0}}
/* η εκτύπωση εγγραφής */
.printpage .kvp{display:grid;grid-template-columns:minmax(140px,26%) 1fr;gap:5px 14px;font-size:13px;margin:8px 0 14px}
.printpage .kvp dt{color:var(--muted)}.printpage .kvp dd{margin:0;color:var(--navy);font-weight:500;overflow-wrap:anywhere}
.printpage .long{font-size:13.5px;line-height:1.5;max-width:820px;margin:4px 0 14px;white-space:pre-wrap}
.printpage .tbl td,.printpage .tbl th{vertical-align:top}
.tl li.note::before{border-color:var(--blue)}

/* ── συμπληρώσεις 1.8.1: εισαγωγή από Excel, διαγραφή χωρίς ίχνος, μετάβαση στη live ── */
.impsteps{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 14px}
.impstep{display:flex;align-items:center;gap:8px}
.impstep b{font-size:14px;font-weight:600;color:var(--muted)}
.impstep.now b,.impstep.done b{color:var(--navy)}
.impmap td .f{gap:2px}.impmap select{max-width:320px}
.impprev td{vertical-align:top}
.impsum .chip{min-height:30px;padding-right:10px;font-size:13.5px}
.btn.dangerish{color:var(--bad);border-color:var(--bad)}
.btn.dangerish:hover{background:var(--bad-tint)}
.livetbl td,.livetbl th{padding:7px 8px}
.seg a[data-imp-filter]{padding:4px 10px;cursor:pointer}
/* 1.16.4 (Φ1/Φ3): ο διακόπτης «όλα μαζί / ένα ένα» της μαζικής, το καρτελάκι «δεν είναι καταχωρισμένος» στον πίνακα */
.seg label{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:7px;color:var(--ink);font-weight:500;white-space:nowrap;cursor:pointer}
.seg label.on{background:var(--navy);color:#fff}
[data-scan-common] .fg{font-size:15px}
.scantbl .newparty{display:flex;gap:6px;align-items:center;margin-top:4px;white-space:nowrap}
.help.ok{color:var(--green-deep,#1b6e3a)}
@media (max-width:760px){.impmap td{display:block}.impmap tr{display:block;border-bottom:1px solid var(--line-soft);padding:6px 0}.impmap thead{display:none}}

/* ── συμπληρώσεις 1.9.0: ο λογαριασμός (ΦΤΠ, οικονομικές καρτέλες, ταμείο), η παραπομπή, τα σκαναρισμένα, η απόδειξη ── */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:12px}
.kpi{display:block;background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:10px 14px;color:inherit;text-decoration:none;min-width:0}
a.kpi:hover{border-color:var(--blue)}
.kpi .l{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:6px;align-items:center}
.kpi b{display:block;font-size:22px;color:var(--navy);margin-top:2px;font-weight:600;font-variant-numeric:tabular-nums}
.kpi .s{font-size:12px;color:var(--muted)}
.kpi.cashk{border-color:var(--ok);background:var(--ok-tint)}.kpi.cashk b{color:var(--ok)}
.kpi.owe b{color:var(--bad)}
td.amt,th.amt{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
th.amt a{justify-content:flex-end}
.neg{color:var(--bad)}
tr.tot td{font-weight:600;background:var(--head);color:var(--navy)}
.calc{background:var(--sky-tint);color:var(--blue-deep);border-radius:10px;padding:10px 12px;font-size:13.5px;display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap}
.calc b{font-size:17px;color:var(--navy)}
.cash{background:var(--ok-tint);color:var(--ok);border-radius:10px;padding:10px 12px;font-size:13.5px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cash b{font-size:17px}
.cash.low{background:var(--bad-tint);color:var(--bad)}
.mini{font-size:12.5px;color:var(--muted)}
.ref{position:relative}
.refq{display:flex;gap:6px;align-items:center}.refq input{flex:1;min-width:0}
.refres{position:absolute;left:0;right:0;top:100%;z-index:6;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(10,30,60,.14);margin-top:4px;overflow:hidden;max-height:260px;overflow-y:auto}
.refres .it{padding:8px 12px;font-size:13.5px;border-bottom:1px solid var(--line-soft);display:flex;gap:10px;align-items:baseline;cursor:pointer}
.refres .it:hover{background:var(--sky-tint)}.refres .it b{font-weight:600;color:var(--navy)}.refres .it small{color:var(--muted);margin-left:auto;white-space:nowrap}
.refres .it.new{color:var(--blue-deep);font-weight:600;background:var(--head)}
/* 1.16.4 (Φ3): το καρτελάκι «δεν υπάρχει στο μητρώο — να τον καταχωρίσουμε τώρα;» κάτω από το πεδίο */
.refmiss{margin-top:6px;padding:8px 10px;border:1px solid #f3c58a;background:#fff7ec;border-radius:9px;font-size:13px;line-height:1.5;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.refmiss b{color:#8a4b00}
.refchip{display:flex;gap:8px;align-items:center;background:var(--head);border:1px solid var(--line-soft);border-radius:10px;padding:8px 10px;margin-top:6px;font-size:13px;flex-wrap:wrap}
.refchip b{color:var(--navy)}.refchip .btn{margin-left:auto}
.refnew{margin-top:8px;padding:12px;border:1px dashed var(--blue);border-radius:10px;background:var(--paper)}
.refnew .fg{margin-top:0}
.stepsx{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.stepsx span{font-size:12.5px;padding:4px 10px;border-radius:20px;background:var(--mist);color:var(--muted)}
.stepsx span.on{background:var(--navy);color:#fff;font-weight:600}.stepsx span.done{background:var(--ok-tint);color:var(--ok)}
.sure{background:#fff0e2;color:#c75500;border-radius:5px;padding:0 5px;font-size:12px;font-weight:600}
td.sure{background:#fff7ee}
.okk{color:var(--ok);font-weight:600}.badk{color:var(--bad);font-weight:600}
.scantbl .inl{width:100%;min-width:90px;padding:4px 6px;font-size:13px}.scantbl .inl.amt{text-align:right}
.scantbl td{vertical-align:top}
.mini-ledger td{padding:4px 8px}.mini-ledger td:first-child{color:var(--muted)}
.plist{list-style:none;padding:0;margin:6px 0 0}.plist li{padding:5px 0;border-bottom:1px solid var(--line-soft)}.plist a{color:inherit;text-decoration:none}.plist a:hover b{text-decoration:underline}
.rule{display:grid;grid-template-columns:minmax(220px,330px) 1fr;gap:8px 14px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-soft);font-size:13.5px}
.rule .u b{display:block}.rule .u > span:last-child{font-size:12px;color:var(--muted);margin-left:6px}
.sendrules .f{margin:0}
.sr{position:absolute;left:-9999px}
.oikbox .kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
/* η απόδειξη (Α5) */
.receiptpage{background:var(--mist)}
.rcpt{background:#fff;border:1px solid var(--line);border-radius:6px;padding:26px 30px;max-width:640px;font-size:14px;color:#1a2a44;box-shadow:0 6px 24px rgba(10,30,60,.1);margin:0 0 18px;page-break-inside:avoid}
.rcpt h3{margin:0;font-size:18px;letter-spacing:.04em}
.rcpt .co{display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid #0d2a5c;padding-bottom:10px;margin-bottom:14px}
.rcpt .co small{display:block;color:#5c6b80;font-size:12px}
.rcpt .num{text-align:right}.rcpt .num .t{font-size:12px;color:#5c6b80}.rcpt .num .n{font-size:20px;font-weight:700;color:#0d2a5c}
.rcpt table{width:100%;border-collapse:collapse;margin:8px 0}
.rcpt td{padding:6px 4px;border-bottom:1px solid #e3e8ef;vertical-align:top}.rcpt td:first-child{color:#5c6b80;width:38%}
.rcpt .amt{font-size:22px;font-weight:700;color:#0d2a5c}
.rcpt .sig{display:flex;justify-content:space-between;margin-top:26px;font-size:12px;color:#5c6b80}
.rcpt .sig div{border-top:1px solid #9aa6b8;width:40%;padding-top:6px;text-align:center}
.rcpt .foot{margin-top:14px;font-size:10px;color:#9aa6b8}
@media print{.receiptpage{background:#fff}.rcpt{box-shadow:none;border-color:#ccc;max-width:none;page-break-after:always}.rcpt:last-of-type{page-break-after:auto}}
@media (max-width:760px){.rule{grid-template-columns:1fr}.kpi b{font-size:19px}}

/* ── 1.9.0 (Μ92): τα διαγράμματα των οικονομικών (diagrammata.html): ένα χρώμα ανά σειρά, ο αριθμός πάντα δίπλα ── */
.kpis.chkpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.kpis.chkpis .kpi{overflow:hidden}
.kpi .trend{font-size:12px;margin-left:6px;font-weight:600;vertical-align:middle}
.kpi .trend.up{color:var(--bad)}.kpi .trend.down{color:var(--ok)}
.chgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px;margin-top:14px}
.ch{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 16px 12px;min-width:0}
.ch.wide{grid-column:1 / -1}
.ch .et{font-size:13.5px;font-weight:600;color:var(--navy);margin-bottom:8px;display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}
.ch .et > span{font-weight:400;color:var(--muted);font-size:12.5px}
.ch svg{width:100%;display:block}
.ch .cv{font-size:11.5px;font-weight:600;fill:var(--navy)}
.ch .cl{font-size:11.5px;fill:var(--muted)}.ch .cl.now{font-weight:600;fill:var(--navy)}
.ch .grid{stroke:var(--line);stroke-width:1}
.ch .zline{stroke:var(--bad);stroke-width:1;stroke-dasharray:4 3}
.ch .col{fill:var(--blue)}.ch .col.s1{fill:var(--ok)}.ch .col.zero{fill:var(--line)}
.ch .ln{fill:none;stroke:var(--navy);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.ch .ln.s1{stroke:var(--ok)}
.ch .ar{fill:rgba(14,143,156,.12)}.ch .ar.s1{fill:rgba(46,160,67,.12)}
.ch .dot{fill:#fff;stroke:var(--navy);stroke-width:2}.ch .dot.s1{stroke:var(--ok)}
.ch .legend{margin-top:8px}
.ch .legend .s1::before{background:var(--ok)}
.hbar{display:grid;grid-template-columns:minmax(120px,38%) 1fr 96px;gap:8px;align-items:center;font-size:12.5px;margin:5px 0}
.hbar .hbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);text-decoration:none}
.hbar a.hbl:hover{text-decoration:underline}
.hbar .hbt{display:block;height:14px;background:var(--mist);border-radius:7px;overflow:hidden}
.hbar .hbt i{display:block;height:100%;background:var(--blue);border-radius:0 7px 7px 0;min-width:3px}
.hbar .hbv{text-align:right;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}
.hbar.other .hbt i{background:var(--faint)}
.donut{display:flex;gap:18px;align-items:center}
.donut svg{width:150px;height:150px;flex:none}
.donut ul{list-style:none;margin:0;padding:0;font-size:12.5px;display:grid;gap:5px;flex:1;min-width:0}
.donut li{display:flex;gap:8px;align-items:center;min-width:0}
.donut li .dl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.donut li i{width:10px;height:10px;border-radius:3px;flex:none}
.donut li b{margin-left:auto;font-variant-numeric:tabular-nums;white-space:nowrap}
.donut .mid{font-size:15px;font-weight:700;fill:var(--navy)}.donut .mids{font-size:10.5px;fill:var(--muted)}
.ask{display:flex;gap:10px;align-items:center;background:var(--head);border:1px dashed var(--line);border-radius:12px;padding:10px 14px;font-size:13px;color:var(--ink);margin-top:14px}
.ask img{height:26px}
.ask b{color:var(--navy)}
@media (max-width:760px){.chgrid{grid-template-columns:1fr}.kpis.chkpis{grid-template-columns:1fr 1fr}.donut{flex-direction:column;align-items:stretch}.hbar{grid-template-columns:minmax(90px,40%) 1fr 84px}}
@media print{.chgrid{grid-template-columns:1fr 1fr}.ch{break-inside:avoid}}

/* ───────── 1.9.2 (Μ93): τα γραφικά «Μετά» σε όλες τις καρτέλες ───────── */
.eikona .eh .seg.sm{margin-left:auto;padding:2px;gap:1px}
.eikona .eh .seg.sm button{border:0;background:transparent;min-height:26px;padding:0 10px;border-radius:6px;color:var(--ink);font:inherit;font-size:12.5px;cursor:pointer}
.eikona .eh .seg.sm button:hover{background:var(--head)}
.eikona .eh .seg.sm button.on{background:var(--navy);color:#fff}
.eikona .eh .seg.sm + .btn{margin-left:0}
.eikona .eh .filt{color:var(--navy);font-weight:600}
.edonut{display:flex;gap:14px;align-items:center}
.edonut svg{width:112px;height:112px;flex:none}
.edonut .ring{fill:none;stroke:var(--mist);stroke-width:5}
.edonut .arc{fill:none;stroke-width:5;transform:rotate(0deg);transform-origin:50% 50%;transition:stroke-width .15s}
.edonut .arc:hover{stroke-width:6.5}
.edonut .mid{font-size:9px;font-weight:700;fill:var(--navy)}
.edonut ul{list-style:none;margin:0;padding:0;font-size:12.5px;display:grid;gap:4px;flex:1;min-width:0}
.edonut li{min-width:0}
.edonut li a,.edonut li{display:flex;gap:7px;align-items:center;color:var(--ink);text-decoration:none;min-width:0}
.edonut li a{padding:1px 4px;margin:-1px -4px;border-radius:6px}
.edonut li a:hover{background:var(--head);text-decoration:none}
.edonut li i{width:10px;height:10px;border-radius:3px;flex:none}
.edonut li .l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.edonut li b{font-variant-numeric:tabular-nums;color:var(--navy)}
.edonut li small{color:var(--muted);font-variant-numeric:tabular-nums;width:34px;text-align:right}
.stat3{display:flex;gap:8px;margin-bottom:10px}
.stat3 .s3{flex:1;display:block;border:1px solid var(--line-soft);border-left:4px solid var(--c);border-radius:10px;padding:6px 10px;color:inherit;text-decoration:none;min-width:0;background:var(--paper)}
.stat3 .s3:hover{border-color:var(--c);text-decoration:none}
.stat3 .s3 b{display:block;font-size:20px;font-weight:700;color:var(--c);line-height:1.1;font-variant-numeric:tabular-nums}
.stat3 .s3 span{font-size:11.5px;color:var(--muted)}
.stat2 div a{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px;text-decoration:none}
.stat2 div a::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--blue)}
.stat2 .tone-b a::before{background:var(--faint)}.stat2 .tone-c a::before{background:var(--ok)}.stat2 .tone-d a::before{background:#7a4fd0}
.stat2 div a:hover{color:var(--navy);text-decoration:underline}
.cols6 .avg{stroke:var(--navy);stroke-width:1;stroke-dasharray:3 3;opacity:.7}
.cols6 .av{font-size:10px;fill:var(--muted)}
.cols6 a{cursor:pointer}
.cols6 a:hover rect.col{opacity:.78}
.cols6 a:hover .cl{fill:var(--navy);font-weight:600}
.cols6.many .cv{font-size:10.5px}
.legend span[style]::before{background:var(--s)}
.legend .avgl::before{width:12px;height:0;border-top:1px dashed var(--navy);border-radius:0}
/* η κίνηση στο άνοιγμα: οι μπάρες ανεβαίνουν, ο κύκλος γεμίζει (όχι με «λιγότερη κίνηση») */
@media (prefers-reduced-motion:no-preference){
  .eikona .cols6 rect.col:not(.zero){transform-box:fill-box;transform-origin:bottom;animation:eikgrow .55s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 35ms)}
  .eikona .ebar .t i,.eikona .split i{transform-origin:left;animation:eikwide .55s cubic-bezier(.2,.7,.2,1) both}
  .eikona .edonut .arc{animation:eikarc .7s ease-out both;animation-delay:calc(var(--i,0) * 60ms)}
  .eikona .stat3 .s3 b,.eikona .stat2 b{animation:eikfade .5s ease-out both}
}
@keyframes eikgrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes eikwide{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes eikarc{from{stroke-dasharray:0 100}}
@keyframes eikfade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (max-width:760px){.eikona .eh .seg.sm{margin-left:0}.eikgrid > .eik[data-eik="count-donut"],.eikgrid > .eik[data-eik="stage"]{order:-1}.edonut svg{width:96px;height:96px}.stat3 .s3 b{font-size:18px}}
.eikgrid[data-n="4"]{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
@media (max-width:760px){.eikgrid[data-n="4"]{grid-template-columns:1fr}}
.stat3 .s3 span{display:block;line-height:1.15;overflow-wrap:normal;word-break:keep-all;hyphens:manual}   /* 1.13.1 (Δ39): οι λέξεις δεν σπάνε στη μέση· τα πλακίδια τυλίγονται */
.stat3{flex-wrap:wrap}.stat3 .s3{min-width:7.5em}
.eikgrid[data-n="4"] .stat3{gap:6px}.eikgrid[data-n="4"] .stat3 .s3{padding:5px 8px}.eikgrid[data-n="4"] .stat3 .s3 span{font-size:10.5px}
.eikgrid[data-n="4"] .edonut svg{width:92px;height:92px}
.edonut li .l{white-space:normal;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ───────── 1.9.2 (Μ94): η μονάδα με μια ματιά ───────── */
.matiahead h1 .swatch{margin-right:8px;vertical-align:-2px}
.matiahead h1 .dim{font-weight:500}
.kpis.matiakpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.kpi .trend.upg{color:var(--ok)}.kpi .trend.downg{color:var(--bad)}
.chgrid.matiagrid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}
.matiatbl{width:100%;border-collapse:collapse;font-size:13px}
.matiatbl th,.matiatbl td{padding:6px 8px 6px 0;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:middle}
.matiatbl th{color:var(--muted);font-weight:500;font-size:12px}
.matiatbl th.num,.matiatbl td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.matiatbl td a{color:var(--ink)}
.matiatbl td a.bad,.matiatbl td.bad{color:var(--bad);font-weight:600}
.matiatbl .sw{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--s);margin-right:7px;vertical-align:-1px}
.matiatbl tr.cur td{background:var(--head)}
.matiagrid .legend span b{color:var(--navy);margin-left:2px}
.vkcomment{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:13.5px}
.vkcomment li{display:flex;gap:9px;align-items:flex-start;line-height:1.4}
.vkcomment .dot{width:9px;height:9px;border-radius:50%;background:var(--blue);flex:none;margin-top:6px}
.vkcomment .t-late .dot{background:var(--bad)}.vkcomment .t-ok .dot{background:var(--ok)}.vkcomment .t-b .dot{background:var(--faint)}
.vkcomment a{white-space:nowrap}
@media (prefers-reduced-motion:no-preference){.matiagrid rect.col:not(.zero){transform-box:fill-box;transform-origin:bottom;animation:eikgrow .55s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 25ms)}.matiagrid .hbar .hbt i{transform-origin:left;animation:eikwide .55s cubic-bezier(.2,.7,.2,1) both}}
@media (max-width:760px){.chgrid.matiagrid{grid-template-columns:1fr}.kpis.matiakpis{grid-template-columns:1fr 1fr}.matiatbl{font-size:12px}.matiatbl th,.matiatbl td{padding:5px 4px 5px 0}.matiagrid .ch[data-chart="units"]{overflow-x:auto}.matiahead .acts{flex-wrap:wrap}}
@media print{.matiagrid{grid-template-columns:1fr 1fr}.matiagrid .ch.wide{grid-column:1 / -1}.matiakpis{grid-template-columns:repeat(5,1fr)}}

/* 1.10.0 (Μ99): «Η καρτέλα μου» στην Αρχική */
.mine{margin-top:12px;display:flex;gap:12px;align-items:center;border-left:4px solid var(--ok)}
.mine .mt{flex:1;min-width:0}.mine .mt .dim{font-size:13px}

/* 1.12.2 (Μ123): η φωνή από τον server — «διαβάζεται», Σταμάτα, Ξανά */
.vk .mv .bb .vkspk{align-items:center;gap:10px}
.vkspk .who{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--navy)}
.vkspk .who .dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--line)}
[data-vk-speak-box].on .vkspk .who .dot,[data-vk-speak-box].on .vkdot{background:var(--blue);box-shadow:0 0 0 4px var(--sky-tint);animation:vkpulse 1.1s ease-in-out infinite}
.vkspk [data-vk-stop][hidden],.vkspk [data-vk-again][hidden]{display:none}
/* 1.12.2 (Μ125): η αναζήτηση παντού */
#palette .pal-note{padding:8px 14px;font-size:12px;color:var(--faint);text-align:left}
#palette .it.vkask{border-top:1px dashed var(--line-soft);margin-top:4px;border-radius:0 0 9px 9px}
.rota .hits{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.rota .hits li{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:start;font-size:13.5px}
.rota .hits .lbl{font-size:11.5px;font-weight:600;color:var(--blue-deep);background:var(--sky-tint);border-radius:999px;padding:2px 8px;white-space:nowrap;margin-top:1px}
.rota .hits small{grid-column:2;display:block;color:var(--muted);font-size:12.5px;line-height:1.4}
.rota .hits mark{background:#fff3a3;color:inherit;padding:0 1px;border-radius:2px}
.rota .hits .tt{color:var(--muted)}
.rota .sec{margin-top:14px}
/* 1.12.2 (Μ126): το ζωντανό σχόλιο της ματιάς */
.matialive .livegrid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:18px;align-items:start}
.matialive .livetext{line-height:1.55;font-size:14px}
.matialive .livetext p{margin:0 0 8px}
.matialive .livelinks{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.matialive .liveacts{display:flex;flex-direction:column;gap:6px;min-width:0}
.matialive .vkdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.55);margin-right:6px;vertical-align:1px}
.matialive[data-vk-speak-box].on .vkdot{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.35);animation:vkpulse 1.1s ease-in-out infinite}
.matialive.busy{opacity:.6;pointer-events:none}
@media (max-width:760px){.matialive .livegrid{grid-template-columns:1fr}}
@media print{.matialive .liveacts{display:none}}

@keyframes spin{to{transform:rotate(360deg)}}

/* ── 1.13.1 (Μ135–Μ138): ταμείο σε ημερομηνία, εξέλιξη ταμείου, η ερώτηση της εκτύπωσης, τα Φύλλα ΦΤΠ ── */
.pos{color:#0f7a3a}.negt{color:var(--bad)}
.cashbox{margin-top:14px;border:1px solid var(--line-soft);border-radius:14px;padding:14px 18px;background:linear-gradient(135deg,#eef5ff,#fff)}
.cashbox .l{color:var(--muted);font-size:13px}.cashbox .l b{color:var(--navy)}
.cashbox .v{font-size:34px;font-weight:700;color:var(--navy);letter-spacing:-.02em;margin:4px 0 6px}.cashbox .v.neg{color:var(--bad)}
.cashbox .s{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.cashbox .s b{color:var(--navy)}
.tbl td.ks{white-space:nowrap}
.kpi .cashk .mini,.kpi .s u{color:var(--blue);text-decoration:underline;cursor:pointer}
.kpi .acts2{display:flex;gap:10px;margin-top:6px;font-size:12.5px}.kpi .acts2 a{color:var(--blue)}
.tools label.inl{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.tools label.inl input{min-height:34px}
.chartbox{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:14px 16px;margin-top:12px}
.chartbox .legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-bottom:6px;align-items:center}
.chartbox .legend i{display:inline-block;width:14px;height:3px;vertical-align:middle;margin-right:4px}.chartbox .legend i.dash{height:0;border-top:2px dashed var(--bad)}
.cashchart{display:block;width:100%;height:auto;font:12px system-ui,sans-serif}
.cashchart .ln{fill:none;stroke-width:2;stroke-linejoin:round}.cashchart .ln.tot{stroke-width:2.8}
.cashchart .cv{font-size:12px;font-weight:600}.cashchart .cl{font-size:11.5px;fill:var(--muted)}.cashchart .grid{stroke:var(--line);stroke-width:1}.cashchart .zline{stroke:var(--bad);stroke-width:1;stroke-dasharray:4 3}
.pchoice{display:grid;gap:10px}
.pchoice .opt{display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid var(--line-soft);border-radius:14px;padding:14px 16px;align-items:start}
.pchoice .opt.on{border:2px solid var(--blue);background:#f4f8ff;grid-template-columns:1fr}
.pchoice .opt .t b{color:var(--navy)}
@media (max-width:700px){.pchoice .opt{grid-template-columns:1fr}}
/* τα φύλλα */
body.ftppage{background:#8a97ad;margin:0;padding:24px;display:grid;gap:24px;justify-content:center;font-size:11.5px;line-height:1.35;color:var(--ink)}
.ftpnav{display:flex;gap:10px;align-items:center;width:210mm;max-width:100%;color:#fff;font-size:13px}.ftpnav .sp{flex:1}
/* 1.16.4 (Φ4, GX 17/10 22:32 iPhone): με παραστατικά η σελίδα πλαταίνει στο Α4 (794px) και η μπάρα με το «Εκτύπωση» έπεφτε έξω από
   την οθόνη του κινητού· χωρίς παραστατικά δεν υπήρχε Α4 και φαινόταν. Στο κινητό η μπάρα καρφώνεται πάνω και τα φύλλα σμικρύνονται
   στο πλάτος της οθόνης (zoom, από το app.js)· στην εκτύπωση όλα όπως πριν. */
@media (max-width:840px){
  body.ftppage{padding:74px 12px 24px;justify-content:start}
  .ftpnav{position:fixed;top:0;left:0;right:0;width:auto;max-width:none;padding:8px 12px;background:#3f4f6d;z-index:5;flex-wrap:wrap;box-shadow:0 2px 10px rgba(0,0,0,.3)}
  .ftpnav > span:first-child{flex:1 1 100%;font-size:12px;line-height:1.3}
  .ftpnav .sp{display:none}
  .fsheet{zoom:var(--fz,1)}
}
@media print{.fsheet{zoom:1}.ftpnav{display:none}}
.fsheet{width:210mm;min-height:297mm;max-width:100%;background:#fff;padding:14mm 14mm 12mm;box-sizing:border-box;position:relative;box-shadow:0 20px 60px -20px rgba(0,0,0,.5);break-after:page;page-break-after:always}
.fsheet .band{height:6px;background:linear-gradient(90deg,#012357,#0d5bdb 60%,#ff700a);border-radius:3px;margin-bottom:12px}
.fsheet .hd{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start}
.fsheet .hd .logo{height:34px;display:block;margin-bottom:8px}
.fsheet h1{font-size:18px;margin:0;color:var(--navy);letter-spacing:-.01em;line-height:1.15;font-weight:700}
.fsheet .sub{color:var(--muted);margin-top:4px;font-size:12px}
.fsheet .day{font-size:15px;color:var(--navy);margin-top:8px;font-weight:600}.fsheet .day span{font-weight:400;color:var(--muted);font-size:12px}
.fsheet .box{border:1.5px solid var(--navy);border-radius:12px;padding:10px 14px;min-width:230px}
.fsheet .box .l{font-size:11px;color:var(--muted)}
.fsheet .box .v{font-size:26px;font-weight:700;color:var(--navy);letter-spacing:-.02em;margin:2px 0 6px}.fsheet .box .v.neg{color:var(--bad)}
.fsheet .box table{width:100%;border-collapse:collapse;font-size:11px}.fsheet .box td{padding:1.5px 0;color:var(--muted)}
.fsheet .box td.n{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}
.fsheet .box tr.t td{border-top:1px solid var(--line);padding-top:3px;font-weight:600;color:var(--navy)}
.fsheet h2{font-size:12.5px;margin:16px 0 4px;color:var(--navy);display:flex;justify-content:space-between;align-items:baseline;border-bottom:1.5px solid var(--navy);padding-bottom:3px;font-weight:700}
.fsheet h2 span{font-weight:400;color:var(--muted);font-size:11px}
.fsheet table.t{width:100%;border-collapse:collapse;font-size:11px}
.fsheet table.t th{text-align:left;font-weight:600;color:var(--muted);padding:4px 6px;border-bottom:1px solid var(--line);font-size:10.5px}
.fsheet table.t td{padding:4.5px 6px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.fsheet table.t .n,.fsheet table.t th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.fsheet table.t .ks{white-space:nowrap;color:var(--muted)}
.fsheet table.t tr.sum td{border-top:1px solid var(--line);border-bottom:0;font-weight:600;color:var(--navy);background:var(--head)}
.fsheet .clip svg.i{width:10px;height:10px;vertical-align:-1px}
.fsheet .clip{display:inline-block;background:var(--head);border-radius:4px;padding:0 5px;color:var(--muted);font-size:10px;white-space:nowrap}
.fsheet .tot{margin-top:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.fsheet .tot>div{border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.fsheet .tot .l{font-size:10.5px;color:var(--muted)}.fsheet .tot .v{font-size:15px;font-weight:700;color:var(--navy);margin-top:2px;font-variant-numeric:tabular-nums}.fsheet .tot .v.neg{color:var(--bad)}
.fsheet .sig{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-top:34px}
.fsheet .sig div{border-top:1px solid var(--ink);padding-top:5px;font-size:11px;color:var(--muted);text-align:center}
.fsheet .attn{margin:14px 0 0;font-size:10.5px;color:var(--muted)}
.fsheet .ft{position:absolute;left:14mm;right:14mm;bottom:9mm;display:flex;justify-content:space-between;font-size:10px;color:#8a97ad;border-top:1px solid var(--line-soft);padding-top:5px}
@media print{@page{size:A4;margin:0}body.ftppage{background:#fff;padding:0;gap:0}.fsheet{box-shadow:none;width:auto;min-height:0;height:297mm}.fsheet:last-of-type{break-after:auto;page-break-after:auto}}
.kpi .kpilink{display:block;color:inherit;text-decoration:none}.kpi .kpilink:hover b{color:var(--blue)}
/* ── 1.13.1 (Μ139, GX 16/10 18:35 «να μπαίνει με έναν εντυπωσιακό τρόπο, παραμετρικό»): οι είσοδοι του πάνελ κωδικών ── */
body.bare.login main{perspective:1600px}
body.bare.login .sheet{position:relative;transform-style:preserve-3d}
/* όσο παίζει η είσοδος, τα παιδιά δεν έρχονται «ένα ένα» (αυτό είναι η είσοδος «Απλή», η παλιά) */
body.landed[data-ent]:not([data-ent="apli"]) .sheet > *{animation:none;opacity:1}

/* 1 · Χαρτί τράπουλας (η ιδέα του GX): γυρισμένο ανάποδα, γυρίζει και δείχνει την όψη */
body.landed[data-ent="trapoula"] .sheet{animation:ent-flip 1.25s cubic-bezier(.3,.7,.2,1) both}
body.landed[data-ent="trapoula"] .sheet > *{backface-visibility:hidden}
body.landed[data-ent="trapoula"] .sheet::after{content:"";position:absolute;inset:-18px -22px;border-radius:18px;
  background:
    url(../brand/sfaira.png) center 46%/96px no-repeat,
    repeating-linear-gradient(45deg,rgba(255,255,255,.07) 0 10px,transparent 10px 20px),
    linear-gradient(160deg,#0a2f6b,#012357 60%,#01193f);
  box-shadow:0 30px 80px -24px rgba(1,35,87,.55),inset 0 0 0 10px #fff,inset 0 0 0 12px rgba(255,255,255,.35);
  transform:rotateY(180deg);backface-visibility:hidden;z-index:3;animation:ent-back 1.25s cubic-bezier(.3,.7,.2,1) both}
@keyframes ent-flip{0%{transform:rotateY(180deg) scale(.86)}55%{transform:rotateY(90deg) scale(1.04)}100%{transform:rotateY(0) scale(1)}}
@keyframes ent-back{0%{opacity:1}54%{opacity:1}56%{opacity:0}100%{opacity:0}}

/* 2 · Αυλαία: δύο φύλλα ανοίγουν από τη μέση */
body.landed[data-ent="avlaia"] .sheet{animation:ent-fade .9s ease .35s both}
body.landed[data-ent="avlaia"] .sheet::before,body.landed[data-ent="avlaia"] .sheet::after{content:"";position:absolute;top:-24px;bottom:-24px;width:52%;z-index:3;
  background:linear-gradient(90deg,#012357,#0d5bdb 60%,#2d79f0);box-shadow:0 20px 50px -20px rgba(1,35,87,.6);animation:ent-curtain 1.1s cubic-bezier(.6,0,.2,1) .25s both}
body.landed[data-ent="avlaia"] .sheet::before{left:-26px;border-radius:18px 0 0 18px;--to:-110%}
body.landed[data-ent="avlaia"] .sheet::after{right:-26px;border-radius:0 18px 18px 0;--to:110%;background:linear-gradient(270deg,#012357,#0d5bdb 60%,#2d79f0)}
@keyframes ent-curtain{0%{transform:translateX(0)}100%{transform:translateX(var(--to));opacity:0}}
@keyframes ent-fade{0%{opacity:0;transform:scale(.96)}100%{opacity:1;transform:none}}

/* 3 · Από το βάθος: έρχεται θολό από μακριά και εστιάζει, με ένα φωτοστέφανο */
body.landed[data-ent="vathos"] .sheet{animation:ent-depth 1.1s cubic-bezier(.2,.8,.2,1) both}
body.landed[data-ent="vathos"] .sheet::after{content:"";position:absolute;inset:-14px -18px;border-radius:22px;pointer-events:none;
  box-shadow:0 0 0 2px rgba(13,91,219,.55),0 0 60px 10px rgba(13,91,219,.25);animation:ent-halo 1.3s ease-out .2s both}
@keyframes ent-depth{0%{transform:translateZ(-420px) scale(.7);filter:blur(10px);opacity:0}60%{filter:blur(0);opacity:1}100%{transform:none;filter:blur(0);opacity:1}}
@keyframes ent-halo{0%{opacity:0;transform:scale(.9)}40%{opacity:1}100%{opacity:0;transform:scale(1.12)}}

/* 4 · Ξεδίπλωμα: ξεδιπλώνει από την πάνω άκρη σαν γράμμα */
body.landed[data-ent="xedipl"] .sheet{transform-origin:50% 0;animation:ent-unfold 1.2s cubic-bezier(.2,.8,.2,1) both}
@keyframes ent-unfold{0%{transform:rotateX(-92deg);opacity:.2}55%{transform:rotateX(14deg);opacity:1}78%{transform:rotateX(-6deg)}100%{transform:none}}
@media (prefers-reduced-motion:reduce){body.landed[data-ent] .sheet,body.landed[data-ent] .sheet::before,body.landed[data-ent] .sheet::after{animation:none!important}body.landed[data-ent="trapoula"] .sheet::after,body.landed[data-ent="avlaia"] .sheet::before,body.landed[data-ent="avlaia"] .sheet::after{display:none}}
/* η προεπισκόπηση των εισόδων στα Παραμετρικά (Μ140): ένα μικρό πάνελ που ξαναπαίζει την κίνηση */
.entprev{margin-top:10px;perspective:1200px;display:grid;justify-content:center;background:linear-gradient(180deg,#f3f6fb,#fff);border:1px solid var(--line-soft);border-radius:14px;padding:22px 16px;min-height:200px}
.entprev .sheet{position:relative;transform-style:preserve-3d;width:260px;background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:14px 16px;box-shadow:0 20px 50px -24px rgba(1,35,87,.4)}
.entprev .sheet h4{font-size:15px;color:var(--navy);margin:0 0 4px}.entprev .sheet p{font-size:11.5px;color:var(--muted);margin:0 0 10px}
.entprev .sheet .ln{height:30px;border:1px solid var(--line);border-radius:8px;margin-top:8px}.entprev .sheet .bt{height:30px;border-radius:8px;background:var(--blue);margin-top:10px}
.entprev[data-ent="trapoula"] .sheet{animation:ent-flip 1.25s cubic-bezier(.3,.7,.2,1) both}
.entprev[data-ent="trapoula"] .sheet > *{backface-visibility:hidden}
.entprev[data-ent="trapoula"] .sheet::after{content:"";position:absolute;inset:-10px -12px;border-radius:14px;background:url(../brand/sfaira.png) center 46%/64px no-repeat,repeating-linear-gradient(45deg,rgba(255,255,255,.07) 0 10px,transparent 10px 20px),linear-gradient(160deg,#0a2f6b,#012357 60%,#01193f);box-shadow:inset 0 0 0 6px #fff;transform:rotateY(180deg);backface-visibility:hidden;z-index:3;animation:ent-back 1.25s cubic-bezier(.3,.7,.2,1) both}
.entprev[data-ent="avlaia"] .sheet{animation:ent-fade .9s ease .35s both}
.entprev[data-ent="avlaia"] .sheet::before,.entprev[data-ent="avlaia"] .sheet::after{content:"";position:absolute;top:-12px;bottom:-12px;width:52%;z-index:3;background:linear-gradient(90deg,#012357,#0d5bdb 60%,#2d79f0);animation:ent-curtain 1.1s cubic-bezier(.6,0,.2,1) .25s both}
.entprev[data-ent="avlaia"] .sheet::before{left:-14px;border-radius:12px 0 0 12px;--to:-110%}
.entprev[data-ent="avlaia"] .sheet::after{right:-14px;border-radius:0 12px 12px 0;--to:110%;background:linear-gradient(270deg,#012357,#0d5bdb 60%,#2d79f0)}
.entprev[data-ent="vathos"] .sheet{animation:ent-depth 1.1s cubic-bezier(.2,.8,.2,1) both}
.entprev[data-ent="vathos"] .sheet::after{content:"";position:absolute;inset:-8px -10px;border-radius:16px;pointer-events:none;box-shadow:0 0 0 2px rgba(13,91,219,.55),0 0 40px 8px rgba(13,91,219,.25);animation:ent-halo 1.3s ease-out .2s both}
.entprev[data-ent="xedipl"] .sheet{transform-origin:50% 0;animation:ent-unfold 1.2s cubic-bezier(.2,.8,.2,1) both}
.entprev[data-ent="apli"] .sheet > *{animation:sheet-in .55s cubic-bezier(.2,.7,.2,1) both}
.entprev[data-ent="apli"] .sheet > *:nth-child(2){animation-delay:.12s}.entprev[data-ent="apli"] .sheet > *:nth-child(3){animation-delay:.19s}.entprev[data-ent="apli"] .sheet > *:nth-child(4){animation-delay:.26s}.entprev[data-ent="apli"] .sheet > *:nth-child(5){animation-delay:.33s}

/* 1.13.1 (Δ45): οι επιλεγμένες τιμές στα select δεν κόβονται σιωπηλά· οι ετικέτες στα πλακίδια τυλίγουν */
.f select{text-overflow:ellipsis;max-width:100%}
.stat3 .s3 span,.kpi .l,.kpi .s{overflow-wrap:normal;word-break:keep-all}
.legend span,.chip,.seg a{white-space:normal}
.seg a{white-space:nowrap}

/* ═══════════ 1.14.0 (Μ141–Μ146): τα γραφικά «top» — sxedio.py + grafika.js ═══════════ */
/* το SVG του σχεδίου: άξονες και πλέγμα με κλάσεις (το σκούρο δέρμα τα αλλάζει), σειρές με inline χρώμα */
svg.tc{width:100%;height:auto;display:block;font-family:inherit;overflow:visible}
svg.tc.donut{width:var(--dsz,120px);height:var(--dsz,120px);flex:none}
.edonut.gr{display:flex;gap:16px;align-items:center}.edonut.gr svg.tc.donut{--dsz:118px}
.edonut.gr ul{list-style:none;margin:0;padding:0;font-size:12.5px;display:grid;gap:5px;flex:1;min-width:0}
.edonut.gr .arc{stroke-width:14px;transform:none}.edonut.gr .arc:hover,.edonut.gr .arc.tipped{stroke-width:19px!important}
.tc text{font-family:inherit}
.tc .ax{fill:var(--muted);font-size:11px}.tc .ax.now{fill:var(--ink);font-weight:600}
.tc .cv{fill:var(--navy);font-size:11.5px;font-weight:600;pointer-events:none}
.tc .gl{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4}.tc .gl.z{stroke-dasharray:none}
.tc .zline{stroke:var(--bad);stroke-width:1.2}
.tc .avg{stroke:var(--navy);stroke-width:1.2;stroke-dasharray:6 4}.tc .avgt{fill:var(--navy);font-size:10.5px}
.tc rect.ghost{fill:none;stroke:var(--faint);stroke-width:1.4;stroke-dasharray:3 3}
.tc polyline.ghost{fill:none;stroke:var(--faint);stroke-width:1.6;stroke-dasharray:5 4;opacity:.85}
.tc .ln{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.tc .ln.bold{stroke-width:3}
.tc .dot{fill:#fff;stroke-width:1.8;transition:r .15s}
.tc .hit{fill:transparent}
.tc .slot:hover .hit,.tc .pt:hover .hit,.tc .hit.tipped{fill:rgba(13,91,219,.07)}
.tc .pt:hover .dot,.tc .pt .hit.tipped ~ .dot{r:5}
.tc .col.zero{fill:var(--line)}
.tc a{cursor:pointer}.tc a:focus-visible .hit{fill:rgba(13,91,219,.12)}
.tc .mk.in{fill:var(--ok)}.tc .mk.out{fill:var(--bad)}
.tc .flag line{stroke:#6b46c1;stroke-width:1.2;stroke-dasharray:2 3}
.tc .flag rect{fill:#fff;stroke:#6b46c1;stroke-width:1;filter:drop-shadow(0 2px 2px rgba(1,35,87,.18))}
.tc .flag text{fill:#4c2fa0;font-size:10.5px;font-weight:600;pointer-events:none}
.tc .flag{cursor:help}
.tc.donut .arc{fill:none;transition:stroke-width .15s,opacity .15s}
.tc.donut:hover .arc{opacity:.45}.tc.donut .arc:hover,.tc.donut .arc.tipped{opacity:1;stroke-width:22px!important}
.tc.donut .ring{stroke:var(--mist)}
.tc .mid{fill:var(--navy);font-size:22px;font-weight:600}.tc .mids{fill:var(--muted);font-size:11px}
/* η λωρίδα της περιόδου (ζουμ) */
.tc.brush{margin-top:6px;cursor:crosshair;user-select:none;-webkit-user-select:none}
.tc.brush .bg{fill:var(--mist)}.tc.brush .mini{fill:none;stroke:var(--faint);stroke-width:1.2}
.tc.brush .sel{fill:rgba(13,91,219,.14);stroke:var(--blue);stroke-width:1.4;cursor:grab}
.tc.brush .handle rect{fill:#fff;stroke:var(--blue);stroke-width:1.4;cursor:ew-resize}.tc.brush .handle line{stroke:var(--blue);stroke-width:1}
.zoomline{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin-top:6px;flex-wrap:wrap}
.zoomline b{color:var(--navy);font-weight:600}
/* η κίνηση στο άνοιγμα: κρυφή αρχή μόνο με JS (html.js), ώστε χωρίς JS και στην εκτύπωση να φαίνονται όλα */
html.js svg.tc:not(.anim) [data-anim="bar"]{transform:scaleY(0)}
svg.tc [data-anim="bar"]{transform-box:fill-box;transform-origin:bottom;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
html.js svg.tc:not(.anim) [data-anim="line"],html.js svg.tc:not(.anim) polyline.ghost{stroke-dasharray:var(--len,2000);stroke-dashoffset:var(--len,2000)}
svg.tc [data-anim="line"],svg.tc polyline.ghost{transition:stroke-dashoffset 1.1s ease-out}
html.js svg.tc:not(.anim) [data-anim="arc"]{opacity:0}
svg.tc [data-anim="arc"]{transition:opacity .6s ease}
html.js svg.tc:not(.anim) .area{opacity:0}svg.tc .area{transition:opacity .9s ease .3s}
@media (prefers-reduced-motion:reduce){html.js svg.tc:not(.anim) [data-anim],html.js svg.tc:not(.anim) polyline.ghost,html.js svg.tc:not(.anim) .area{transform:none;stroke-dashoffset:0;opacity:1;transition:none}}
@media print{html.js svg.tc:not(.anim) [data-anim],html.js svg.tc:not(.anim) polyline.ghost,html.js svg.tc:not(.anim) .area{transform:none;stroke-dashoffset:0;opacity:1}}
/* το ζωντανό tooltip */
.tip{position:absolute;z-index:120;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px -14px rgba(1,35,87,.45);padding:10px 12px;min-width:170px;max-width:300px;font-size:12.5px;line-height:1.35;pointer-events:none;color:var(--ink)}
.tip::after{content:"";position:absolute;left:var(--ax,50%);width:12px;height:12px;background:#fff;border:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}
.tip.up::after{bottom:-7px;border-left:0;border-top:0}
.tip.down::after{top:-7px;border-right:0;border-bottom:0}
.tip b.t{display:block;font-size:13px;color:var(--navy);margin-bottom:5px}
.tip .r{display:flex;justify-content:space-between;gap:14px;align-items:center}
.tip .r i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;flex:none}
.tip .r span:first-child{display:flex;align-items:center;color:var(--ink);min-width:0}
.tip .r b{font-variant-numeric:tabular-nums;color:var(--navy);white-space:nowrap}
.tip .d{color:var(--muted);font-size:11.5px;margin-top:6px;border-top:1px dashed var(--line-soft);padding-top:5px}
.tip .d.cl{color:var(--blue)}
/* η εργαλειοθήκη κάθε γραφικού: PNG, Αντιγραφή, Ρώτα */
.ctools{display:inline-flex;gap:2px;margin-left:auto;flex:none}
.ctools button{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 8px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--muted);font:inherit;font-size:11.5px;font-weight:500;cursor:pointer}
.ctools button:hover{background:var(--mist);color:var(--navy)}
.ctools button svg.i{width:13px;height:13px}
.ctools .vk{color:#c75500}
.eik .ctools button span{display:none}.eik .ctools button{padding:0 5px}
.et .ctools{margin-left:auto}
@media print{.ctools{display:none}}
/* KPI με σφυγμό και δέλτα */
.kpi{position:relative}
.kpi .spark{position:absolute;right:10px;bottom:8px;opacity:.95;pointer-events:none}
.kpi.hasspark .s{padding-right:112px}
.kpi.hasspark:has(.acts2) .spark{bottom:32px}.kpi.hasspark .acts2{padding-right:112px}
.kpi .delta{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:600;padding:1px 7px;border-radius:20px;background:var(--mist);color:var(--muted);margin-left:8px;vertical-align:middle;white-space:nowrap}
.kpi .delta.good{background:var(--ok-tint);color:var(--ok)}.kpi .delta.bad{background:var(--bad-tint);color:var(--bad)}
.count{font-variant-numeric:tabular-nums}
@media (max-width:760px){.kpi .spark{display:none}.kpi.hasspark .s{padding-right:0}.kpi.hasspark .acts2{padding-right:0}.kpi .delta{font-size:10.5px;padding:0 5px;margin-left:5px}.kpi b{white-space:normal}}
/* η σύγκριση με πέρσι, το υπόμνημα */
.legend span.sw::before{background:var(--c,var(--blue))}
.legend span.ln::before{width:14px;height:0;border-top:2px dashed var(--faint);background:transparent;border-radius:0}
.legend span.none::before{display:none}
.legend span.ghostl::before{background:transparent;border:1.4px dashed var(--faint);width:9px;height:9px}
.legend span.flagl::before{background:#6b46c1;width:0;height:0;border-left:5px solid #6b46c1;border-top:4px solid transparent;border-bottom:4px solid transparent;border-radius:0}
.cmp{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
/* η εξέλιξη ταμείου (Μ143): τίτλος με εργαλεία, υπόμνημα, λωρίδα της χρονιάς */
.chartbox .et{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--navy);margin-bottom:6px;flex-wrap:wrap}
.chartbox .et span[data-zoom-hint]{font-weight:400;color:var(--muted);font-size:12.5px}
.chartbox .legend span::before{display:none}
.chartbox .legend i.ghost{border-top-color:var(--faint)}
.tc .dot.hov{opacity:0;transition:opacity .15s}.tc .pt:hover .dot.hov{opacity:1}
.chartbox .legend i.tri{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;margin-right:5px}
.chartbox .legend i.tri.in{border-bottom:8px solid var(--ok)}.chartbox .legend i.tri.out{border-top:8px solid var(--bad)}
.chartbox .legend i.flagi{width:10px;height:10px;border-radius:5px;background:#fff;border:1.5px solid #6b46c1}
.brushrow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-size:12px}.brushrow .btns{display:flex;gap:6px}
.kpi.neg b{color:var(--bad)}
/* ο διακόπτης της όψης στο υποσέλιδο του μενού */
.skinbtn{display:inline-flex;align-items:center;gap:5px;margin-top:6px;border:1px solid var(--line-soft);background:#fff;border-radius:20px;padding:2px 9px 2px 6px;font:inherit;font-size:11.5px;color:var(--muted);cursor:pointer}
.skinbtn:hover{color:var(--navy);border-color:var(--line)}.skinbtn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.skinbtn .moon{display:none}html[data-skin=night] .skinbtn .sun{display:none}html[data-skin=night] .skinbtn .moon{display:inline}
/* ο λόγος κάτω από το γραφικό */
.why{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink);margin-top:10px;padding:8px 10px;background:#fff7ef;border-radius:9px;line-height:1.4}
.why img{width:18px;height:18px;border-radius:50%;flex:none;margin-top:1px}
.why button{font:inherit;font-size:12.5px;color:var(--blue);background:none;border:0;padding:0;cursor:pointer;white-space:nowrap}
.why button:hover{text-decoration:underline}
@media print{.why button{display:none}}
/* μικρές πολλαπλές (οι μονάδες δίπλα δίπλα) */
.multi{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.mu{display:block;background:var(--head);border:1px solid var(--line-soft);border-radius:12px;padding:10px 12px;color:inherit;text-decoration:none;min-width:0}
a.mu:hover{background:#fff;box-shadow:0 0 0 2px var(--blue),0 12px 30px -14px rgba(1,35,87,.4);text-decoration:none}
.mu h4{font-size:12.5px;color:var(--navy);margin:0;display:flex;gap:6px;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.mu h4 i{width:10px;height:10px;border-radius:3px;flex:none}
.mu .n{font-size:20px;font-weight:600;color:var(--navy);margin-top:3px;font-variant-numeric:tabular-nums}
.mu .n small{font-size:11.5px;color:var(--muted);font-weight:400;margin-left:6px}
.mu .spark{display:block;margin-top:4px;position:static}
.mu .mubar{height:6px;border-radius:3px;background:var(--mist);margin-top:8px;overflow:hidden}.mu .mubar i{display:block;height:100%;border-radius:3px}
.mu .mf{font-size:11px;color:var(--muted);margin-top:4px;display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}
.mu .mf .bad{color:var(--bad);font-weight:600}.mu .mf .ok{color:var(--ok)}
/* ο χάρτης των κλινών (Πληρότητα) */
.beds{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:8px}
.room{background:var(--head);border:1px solid var(--line-soft);border-radius:12px;padding:8px 9px;min-width:0}
.room h4{font-size:12px;color:var(--muted);font-weight:600;margin:0 0 4px;display:flex;justify-content:space-between;gap:6px}
.bed{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line-soft);border-radius:9px;padding:5px 7px;margin-top:5px;font-size:12.5px;position:relative;color:inherit;text-decoration:none;min-width:0}
a.bed:hover{box-shadow:0 0 0 2px var(--blue);text-decoration:none}
.bed .av{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:10.5px;font-weight:700;color:#fff;flex:none}
.bed .nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:500;flex:1}
.bed small{display:block;color:var(--muted);font-size:10.5px;font-weight:400;overflow:hidden;text-overflow:ellipsis}
.bed.free{border-style:dashed;color:var(--faint);justify-content:center;font-weight:500;background:transparent}
.bed .fl{position:absolute;right:6px;top:6px;width:8px;height:8px;border-radius:50%;background:#cf5a3c}
/* ο χρονοδιάδρομος των λήξεων */
.tl{position:relative;height:136px;margin:26px 0 0}
.tl .ax{position:absolute;left:0;right:0;top:64px;height:2px;background:var(--line)}
.tl .mo{position:absolute;top:92px;font-size:11px;color:var(--muted);transform:translateX(-50%);white-space:nowrap}
.tl .ev{position:absolute;top:22px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--ink);white-space:nowrap;text-decoration:none}
.tl .ev i{width:12px;height:12px;border-radius:50%;background:var(--blue);border:2px solid #fff;box-shadow:0 0 0 1.5px var(--blue);margin-top:4px}
.tl .ev.soon i{background:#e0a21b;box-shadow:0 0 0 1.5px #e0a21b}
.tl .ev.late i{background:var(--bad);box-shadow:0 0 0 1.5px var(--bad)}
.tl .ev b{font-weight:600;font-size:11.5px;max-width:110px;overflow:hidden;text-overflow:ellipsis}
.tl .ev:hover b{text-decoration:underline}
.tl .now{position:absolute;top:52px;width:2px;height:26px;background:var(--navy);border-radius:2px}
.tl .now::after{content:"σήμερα";position:absolute;top:-14px;left:-18px;font-size:10px;color:var(--navy);font-weight:600}
.tl .ev.l1{top:auto;bottom:0;flex-direction:column-reverse}.tl .ev.l1 i{margin:0 0 4px}.tl .ev.l1 span{order:1}
.tl .ev.l2{top:-18px}.tl .ev.l2 i{margin-top:4px;height:12px}.tl .ev.l2::after{content:"";width:2px;height:22px;background:var(--line)}
.eik.wide{grid-column:1/-1}.eik.w2{grid-column:span 2}
@media (max-width:760px){.eik.w2{grid-column:auto}}
/* οι γραμμές ανά συναλλασσόμενο (hbar) με hover */
.hbar{border-radius:8px;padding:2px 4px;margin:3px -4px}
.hbar:hover,.hbar.tipped{background:var(--sky-tint)}
.hbar .hbt i{background:linear-gradient(90deg,var(--blue),#2a86c8)}
/* ═══ το σκούρο δέρμα της νύχτας (μόνο τα γραφικά, όπως η είσοδος: Α μέρα / Β νύχτα) ═══ */
html[data-skin=night] .eikona,html[data-skin=night] .ch,html[data-skin=night] .chartbox,html[data-skin=night] .box.gr{background:linear-gradient(160deg,#07255c 0%,#0f3a86 55%,#0d5bdb 140%);color:#dbe7ff;border-color:transparent;box-shadow:0 24px 50px -24px rgba(1,35,87,.7)}
html[data-skin=night] .eikona .eh b,html[data-skin=night] .ch .et,html[data-skin=night] .eik .et,html[data-skin=night] .chartbox .et,html[data-skin=night] .box.gr .et{color:#fff}
html[data-skin=night] .edonut li,html[data-skin=night] .edonut li a,html[data-skin=night] .donut li,html[data-skin=night] .edonut li b,html[data-skin=night] .donut li b,html[data-skin=night] .hbar .hbl,html[data-skin=night] .hbar .hbv,html[data-skin=night] .ch .tbl,html[data-skin=night] .ch .tbl a{color:#e6eeff}
html[data-skin=night] .edonut li small,html[data-skin=night] .donut li .dl,html[data-skin=night] .ch .tbl th,html[data-skin=night] .ch .dim{color:#aac0ea}
html[data-skin=night] .edonut li a:hover{background:rgba(255,255,255,.12)}
html[data-skin=night] .eikona .eh > span,html[data-skin=night] .eik .et > span,html[data-skin=night] .ch .et > span,html[data-skin=night] .legend,html[data-skin=night] .chartbox .legend,html[data-skin=night] .eikona .note,html[data-skin=night] .ch .note,html[data-skin=night] .zoomline{color:#aac0ea}
html[data-skin=night] .zoomline b{color:#fff}
html[data-skin=night] .tc .ax,html[data-skin=night] .tc .mids{fill:#c9d8f5}html[data-skin=night] .tc .ax.now,html[data-skin=night] .tc .cv,html[data-skin=night] .tc .mid,html[data-skin=night] .tc .avgt{fill:#fff}
html[data-skin=night] .tc .gl{stroke:rgba(255,255,255,.16)}html[data-skin=night] .tc .avg{stroke:#fff}
html[data-skin=night] .tc .dot{fill:#0f3a86}
html[data-skin=night] .tc .hit.tipped,html[data-skin=night] .tc .slot:hover .hit,html[data-skin=night] .tc .pt:hover .hit{fill:rgba(255,255,255,.1)}
html[data-skin=night] .tc rect.ghost,html[data-skin=night] .tc polyline.ghost{stroke:#aac0ea}
html[data-skin=night] .tc.brush .bg{fill:rgba(255,255,255,.1)}html[data-skin=night] .tc.brush .sel{fill:rgba(255,255,255,.18);stroke:#fff}html[data-skin=night] .tc.brush .handle rect{stroke:#fff}html[data-skin=night] .tc.brush .handle line{stroke:#fff}html[data-skin=night] .tc.brush .mini{stroke:#aac0ea}
html[data-skin=night] .tc.donut .ring{stroke:rgba(255,255,255,.15)}
html[data-skin=night] .ctools button{color:#aac0ea}html[data-skin=night] .ctools button:hover{background:rgba(255,255,255,.12);color:#fff}html[data-skin=night] .ctools .vk{color:#ffb27a}
html[data-skin=night] .eikona .eh .seg,html[data-skin=night] .ch .seg,html[data-skin=night] .chartbox .seg{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
html[data-skin=night] .eikona .eh .seg.sm button,html[data-skin=night] .ch .seg.sm button,html[data-skin=night] .ch .seg a,html[data-skin=night] .chartbox .seg a{color:#dbe7ff}
html[data-skin=night] .eikona .eh .seg.sm button.on,html[data-skin=night] .ch .seg.sm button.on,html[data-skin=night] .ch .seg a.on,html[data-skin=night] .chartbox .seg a.on{background:#fff;color:var(--navy)}
html[data-skin=night] .eikona .btn.quiet,html[data-skin=night] .ch .btn{background:transparent;color:#aac0ea;border-color:rgba(255,255,255,.2)}
html[data-skin=night] .eikona .stat3 .s3 b,html[data-skin=night] .eikona .stat2 b,html[data-skin=night] .eikona .edonut .mid{color:#fff;fill:#fff}
/* 1.16.3 (GX 17/10 21:21, iPad, νύχτα): τα πλακίδια «ενεργοί / σε αναστολή / έτοιμα…» έμεναν ΛΕΥΚΑ με λευκούς αριθμούς — στη νύχτα παίρνουν σκούρο φόντο, ο αριθμός λευκός, η ετικέτα ανοιχτή, η αριστερή ρίγα το χρώμα τους */
html[data-skin=night] .eikona .stat3 .s3{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.18);border-left-color:var(--c)}
html[data-skin=night] .eikona .stat3 .s3:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.35);border-left-color:var(--c)}
html[data-skin=night] .eikona .stat3 .s3 span,html[data-skin=night] .eikona .stat2 a,html[data-skin=night] .eikona .stat2 span,html[data-skin=night] .eikona .edonut li,html[data-skin=night] .eikona .ebar .l,html[data-skin=night] .eikona .ebar .v,html[data-skin=night] .eikona .duel li .n,html[data-skin=night] .eikona .duel li .n b,html[data-skin=night] .hbar .hbl,html[data-skin=night] .hbar .hbv,html[data-skin=night] .ch .dl,html[data-skin=night] .ch .donut li,html[data-skin=night] .ch .donut li b{color:#dbe7ff}
html[data-skin=night] .eikona .ebar .t,html[data-skin=night] .hbar .hbt,html[data-skin=night] .eikona .split{background:rgba(255,255,255,.12)}
html[data-skin=night] .hbar:hover,html[data-skin=night] .hbar.tipped{background:rgba(255,255,255,.1)}
html[data-skin=night] .why{background:rgba(255,255,255,.1);color:#fff}html[data-skin=night] .why button{color:#ffb27a}
html[data-skin=night] .mu{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}html[data-skin=night] .mu h4,html[data-skin=night] .mu .n{color:#fff}html[data-skin=night] .mu .mf,html[data-skin=night] .mu .n small{color:#aac0ea}html[data-skin=night] a.mu:hover{background:rgba(255,255,255,.14)}html[data-skin=night] .mu .mubar{background:rgba(255,255,255,.12)}
html[data-skin=night] .room{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}html[data-skin=night] .room h4{color:#aac0ea}html[data-skin=night] .bed{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12)}html[data-skin=night] .bed .nm{color:#fff}html[data-skin=night] .bed small{color:#aac0ea}html[data-skin=night] .bed.free{background:transparent;color:#aac0ea}
html[data-skin=night] .tl .ax{background:rgba(255,255,255,.2)}html[data-skin=night] .tl .mo,html[data-skin=night] .tl .ev{color:#dbe7ff}html[data-skin=night] .tl .now{background:#fff}html[data-skin=night] .tl .now::after{color:#fff}html[data-skin=night] .tl .ev i{border-color:#0f3a86}
html[data-skin=night] .kpis.gr .kpi{background:#0a2a63;border-color:#2b5fb5;color:#dbe7ff}html[data-skin=night] .kpis.gr .kpi b,html[data-skin=night] .kpis.gr .kpi .l{color:#fff}html[data-skin=night] .kpis.gr .kpi .s,html[data-skin=night] .kpis.gr .kpi .l span{color:#aac0ea}
html[data-skin=night] .kpis.gr .kpi.cashk{background:#0b3d33;border-color:#1f7a5e}html[data-skin=night] .kpis.gr .kpi.cashk b{color:#8ff0c4}html[data-skin=night] .kpis.gr .kpi.owe b{color:#ffb3b3}
html[data-skin=night] .kpi .delta{background:rgba(255,255,255,.14);color:#dbe7ff}html[data-skin=night] .kpi .delta.good{color:#8ff0c4}html[data-skin=night] .kpi .delta.bad{color:#ffb3b3}
html[data-skin=night] .tip{background:#0a2a63;border-color:#2b5fb5;color:#fff}html[data-skin=night] .tip b.t,html[data-skin=night] .tip .r b{color:#fff}html[data-skin=night] .tip .r span:first-child{color:#dbe7ff}html[data-skin=night] .tip::after{background:#0a2a63;border-color:#2b5fb5}html[data-skin=night] .tip .d{color:#aac0ea;border-color:rgba(255,255,255,.2)}html[data-skin=night] .tip .d.cl{color:#9cc3ff}
@media print{html[data-skin=night] .eikona,html[data-skin=night] .ch,html[data-skin=night] .chartbox,html[data-skin=night] .box.gr{background:#fff;color:var(--ink);box-shadow:none;border-color:var(--line)}}
/* ═══ το κουδούνι (1.14.0: ως θέση· η πλήρης λογική στην 1.15.0) ═══ */
.bellbtn{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;flex:none;color:var(--navy)}
.bellbtn:hover{background:var(--head)}
.bellbtn svg.i{width:20px;height:20px}
.bellbtn .st{position:absolute;top:-6px;right:-8px;padding:0 6px;min-width:18px;height:18px;font-size:11px;justify-content:center}
.bellbtn .st.soft{background:var(--mist);color:var(--navy)}
.bellpop{position:fixed;right:68px;top:calc(var(--top) + 6px);width:min(520px,calc(100vw - 16px));background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 80px -24px rgba(1,35,87,.55);z-index:95;overflow:hidden;max-height:calc(100vh - var(--top) - 20px);display:flex;flex-direction:column}
@media (max-width:760px){.bellpop{right:8px;left:8px;width:auto;top:calc(var(--top) + 4px)}}
.bellpop .bh{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}
.bellpop .bh b{font-size:15px;color:var(--navy)}
.bellpop .bh > span{color:var(--muted);font-size:12px}
.bellpop .tabs{display:flex;gap:4px;margin-left:auto}
.bellpop .tabs button{height:28px;padding:0 10px;border-radius:14px;border:1px solid var(--line);background:#fff;font:inherit;font-size:12.5px;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.bellpop .tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.bellpop .tabs .cnt{background:var(--bad);color:#fff;border-radius:9px;padding:0 6px;font-size:11px}
.bellpop .tabs .cnt.soft{background:var(--mist);color:var(--ink)}
.bellpop .tabs button.on .cnt{background:#fff;color:var(--navy)}
.bellpop .bb{overflow:auto;padding:10px 12px;display:grid;gap:8px;align-content:start}
.bellpop .sec{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.3px;margin:4px 2px 0}
.bellpop .sec.must{color:var(--bad)}
.nitem{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:11px;border:1px solid var(--line-soft);background:var(--head);font-size:13px;line-height:1.35;color:inherit;text-decoration:none}
a.nitem:hover{text-decoration:none;box-shadow:0 0 0 2px var(--sky-tint)}
.nitem.must{border-left:4px solid var(--bad);background:#fff}
.nitem.soon{border-left:4px solid #e0a21b;background:#fff}
.nitem.new{border-left:4px solid var(--blue);background:#fff}
.nitem .ic{width:28px;height:28px;border-radius:8px;background:var(--mist);display:grid;place-items:center;flex:none;font-size:11px;font-weight:700;color:var(--navy);text-align:center;line-height:1}
.nitem .ic.here{background:var(--here-tint);color:#c75500}
.nitem .tx{flex:1;min-width:0}
.nitem .tx b{color:var(--navy);font-weight:600}
.nitem .tx small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.nitem .ops{display:flex;gap:5px;flex:none;align-items:center}
.nitem .ops .due{flex:none}
.bellpop .bf{border-top:1px solid var(--line-soft);padding:10px 12px;display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--muted);flex-wrap:wrap}
.bellpop .bf a,.bellpop .bf button{color:var(--blue);background:none;border:0;font:inherit;font-size:12.5px;cursor:pointer;padding:0}
.bellpop .empty{padding:14px;text-align:center;color:var(--muted);font-size:13px;border:1px dashed var(--line);border-radius:10px}
@media print{.bellbtn,.bellpop{display:none}}

/* ───────── 1.14.1 (Μ147–Μ150): το Βαλάκι «μαμά» — η μνήμη της μονάδας, η πρακτική, το πρωινό σημείωμα ───────── */
.box[data-mnimi-list] .row,.box[data-mnimi-gaps] .row,.box .row.mnimi,.mnimirow{display:grid;grid-template-columns:9px 1fr auto;gap:10px;padding:10px 14px;border-top:1px solid var(--line-soft);align-items:start}
.box[data-mnimi-list] .row:first-child,.box[data-mnimi-gaps] .row:first-child{border-top:0}
.box .row .dot{width:9px;height:9px;border-radius:50%;background:var(--blue);opacity:.55;margin-top:7px;display:inline-block}
.box .row.rule{background:#fff8e6}
.box .row b{display:block;color:var(--navy)}
.box .row .sub{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.box .row.retired{opacity:.7;grid-template-columns:9px 1fr}
.mnimiform .mnimigist{margin-top:10px;background:var(--head);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.mnimiform .mnimigist .tt{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--navy);margin-bottom:6px}
.mnimiform .mnimigist .tt img{width:18px;height:18px;border-radius:4px}
.mnimiform .mnimigist .tt .lbl{font-size:11.5px;color:var(--faint);font-weight:500;margin-left:auto}
.mnimiform .mnimigist p{margin:0;font-size:14px}
.mnimiform .mnimigist .sub{font-size:12px;color:var(--muted);margin-top:6px}
.mnimiform .mnimigist.done{border-color:var(--ok);background:#f2faf5}
.vk .vkgap{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px;padding:8px 10px;border-radius:10px;background:#fff8e6;font-size:12.5px}
.vk .vkgap .btn{margin-left:auto}
.mama{margin:0 0 16px;border-left:4px solid var(--navy)}
.mama .mh{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mama .mh img{width:30px;height:30px;border-radius:8px}
.mama .mh .t{display:flex;flex-direction:column;flex:1;min-width:160px}
.mama .mh .t b{font-size:15px;color:var(--navy)}
.mama .mh .t span{font-size:12px;color:var(--muted)}
.mama .mh .acts{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.mama .line{margin:10px 0 0;font-size:15px;line-height:1.5;color:var(--ink)}
.mama .mcols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px}
@media (max-width:980px){.mama .mcols{grid-template-columns:1fr}}
.mama .mcol{background:var(--head);border:1px solid var(--line-soft);border-radius:12px;padding:10px 12px;min-width:0}
.mama .mt{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.3px;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.mama ul{margin:0;padding-left:18px;font-size:13px;line-height:1.45}
.mama ul li{margin:3px 0}
.mama li.warn{color:#8a5a00}
.mama li.bad{color:var(--bad)}
.mama .nt{display:grid;grid-template-columns:9px 1fr;gap:8px;padding:7px 0;border-top:1px solid var(--line-soft);font-size:13px}
.mama .nt:first-of-type{border-top:0}
.mama .nt .here{margin-top:6px}
.mama .nt b{display:block;color:var(--navy);font-weight:600}
.mama .nt .days{display:inline-block;font-size:11px;color:var(--bad);font-weight:600;margin-top:2px}
.mama .nt .its{margin-top:4px;padding-left:14px;color:var(--muted)}
.mama .nt .its .btn.xs{height:22px;padding:0 8px;font-size:11.5px;border-radius:11px;margin-left:4px;vertical-align:middle}
.mama .nt .more{display:inline-block;margin-top:4px;font-size:12px}
.mama .rem{list-style:none;padding:0}
.mama .rem li{display:flex;gap:8px;align-items:center;justify-content:space-between}
.mama .rem li a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mama .okline{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center}
.mama .okline .i{width:16px;height:16px;color:var(--ok)}
.mama.on .mh .acts [data-vk-speak]{display:none}
@media print{.mama .acts{display:none}}


/* ───────── 1.15.0 (Μ151–Μ155): οι Εργασίες και το Κουδούνι ───────── */
.ergtarget{display:grid;gap:10px;grid-column:1 / -1}
.ergtarget .seg{display:inline-flex;gap:4px;background:var(--head);border:1px solid var(--line);border-radius:12px;padding:3px;width:max-content;max-width:100%}
.ergtarget .seg button{height:30px;padding:0 12px;border-radius:9px;border:0;background:transparent;font:inherit;font-size:13px;color:var(--ink);cursor:pointer}
.ergtarget .seg button.on{background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(1,35,87,.15);font-weight:600}
.ergtarget .chips.people .chip b{background:var(--navy);color:#fff;border-radius:50%;width:22px;height:22px;display:inline-grid;place-items:center;font-size:10px}
.ergtarget .radios{display:grid;gap:6px}
.ergkv .chip{margin:2px 6px 2px 0}
.ergkv .chip.dim{opacity:.6}
.steps{margin:12px 0 4px;border:1px solid var(--line-soft);border-radius:12px;background:var(--head);padding:10px 12px}
.steps .sth{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--navy);margin-bottom:6px}
.steps .sth span{color:var(--muted);font-size:12px}
.steps .sth i{flex:1;height:6px;border-radius:3px;background:var(--mist);position:relative;overflow:hidden}
.steps .sth i::after{content:"";position:absolute;inset:0;width:var(--p,0%);background:var(--ok,#0e8a5f);border-radius:3px;transition:width .4s}
.steps ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.steps li{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.35}
.steps li.done .tx{color:var(--muted);text-decoration:line-through}
.steps li .tx small{display:block;text-decoration:none;color:var(--faint);font-size:11px}
.steps .stbox{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--line);background:#fff;flex:none;display:grid;place-items:center;cursor:pointer;padding:0;color:#fff}
.steps li.done .stbox{background:var(--ok,#0e8a5f);border-color:var(--ok,#0e8a5f)}
.steps .stbox svg.i{width:14px;height:14px}
span.stbox{cursor:default}
.progress{margin-top:10px}
.progress .tbl.mini{width:100%;font-size:13px}
.progress .tbl.mini th{font-weight:600;color:var(--muted);font-size:11.5px;text-align:left;padding:4px 6px}
.progress .tbl.mini td{padding:5px 6px;border-top:1px solid var(--line-soft);vertical-align:middle}
.boardwrap{margin:0 0 14px}
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:10px;overflow-x:auto;padding:4px 2px 10px;align-items:start}
.bcol{background:var(--head);border:1px solid var(--line-soft);border-radius:14px;padding:8px;display:grid;gap:6px;min-height:120px;align-content:start}
.bcol.hot{border-color:var(--bad-tint)}
.bcol.over{outline:2px dashed var(--blue);outline-offset:2px;background:var(--sky-tint)}
.bcol.free{background:#fff8e6}
.bhd{display:flex;align-items:center;gap:8px;font-size:13px;padding:2px 4px 6px;color:var(--navy)}
.bhd b{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bhd > span{font-size:12px;color:var(--muted);white-space:nowrap}
.bhd .av{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:10.5px;font-weight:700;flex:none}
.bhd .late{font-style:normal;color:var(--bad)}
.bcard{display:block;background:#fff;border:1px solid var(--line-soft);border-left:4px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px;text-decoration:none;color:inherit;cursor:grab}
.bcard[draggable=false]{cursor:pointer}
.bcard:hover{text-decoration:none;box-shadow:0 0 0 2px var(--sky-tint)}
.bcard.dragging{opacity:.5}
.bcard b{display:block;color:var(--navy);font-weight:600;line-height:1.3}
.bcard small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}
.bcard.late{border-left-color:var(--bad)}
.bcard.soon{border-left-color:#e0a21b}
.bcard.ok{border-left-color:var(--ok,#0e8a5f)}
.bcard.wait{border-left-color:var(--line);opacity:.85}
.bempty{font-size:12px;color:var(--faint);padding:6px 8px;text-align:center}
.worklist .row.prio-epeigon > div > a b{color:var(--bad)}
.nitem .ops .btn.sm{height:26px;padding:0 8px;font-size:12px}
.nitem .tx .linkbtn{font-size:12px}
h2.sub2.bad{color:var(--bad)}
@media (max-width:760px){.board{grid-auto-columns:minmax(78vw,1fr)}}

/* ── 1.16.0 (Ζωτικά σημεία): αριθμοί με μονάδα και φυσιολογικά όρια ── */
.numu{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.f .numu input,.numu input{flex:1 1 90px;width:auto;min-width:80px;max-width:160px;font-weight:600;font-variant-numeric:tabular-nums}
.numu .un{color:var(--muted);font-size:13px}
.numu .nrm{margin-left:auto;font-size:11.5px;color:var(--ok);background:var(--ok-tint);border-radius:12px;padding:2px 8px;white-space:nowrap}
.numu.oor input{border-color:var(--bad);background:var(--bad-tint);color:#b42318}
.numu.oor .nrm{color:var(--bad);background:var(--bad-tint)}
.numu.oor .nrm::before{content:'εκτός ορίων · φυσιολογικό '}
td .oor,dd .oor{color:#b42318;font-weight:700;background:var(--bad-tint);border-radius:6px;padding:1px 6px;margin:0 -6px 0 -2px}
td .nv,dd .nv{font-variant-numeric:tabular-nums}
td .un,dd .un{color:var(--muted);font-size:11px;margin-left:3px}
/* ── 1.16.0 (Μ162): η χρονογραμμή μετρήσεων (sxedio.timeline) ── */
.tc.tl .band{fill:#0e8a5f;opacity:.08}
.tc.tl .bandl{stroke:#0e8a5f;stroke-width:1;stroke-dasharray:4 4;opacity:.6}
.tc.tl .bandt{fill:#0e8a5f;font-size:10px;font-weight:600}
.tc.tl .ln{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.tc.tl .dot{stroke:#fff;stroke-width:1.5}
.tc.tl .dot.oor{stroke:#fff;stroke-width:1.5}
.tc.tl .last{font-size:12px;font-weight:700}
.tc.tl .flag text{fill:#8b9ab6;font-weight:500;font-size:10px}
.tc.tl .flag line{stroke:#8b9ab6}
.tc.tl text.ax{font-size:10.5px}
html[data-skin=night] .tc.tl .band{opacity:.16}
/* ── 1.16.0 (Μ160, Μ161): ο γύρος μετρήσεων ── */
.rtools{align-items:center}
.rprog{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:10px 14px;margin-bottom:12px;flex-wrap:wrap}
.rprog b{color:var(--navy);font-variant-numeric:tabular-nums}
.rprog .rbar{flex:1;min-width:120px;height:10px;border-radius:6px;background:var(--mist);overflow:hidden}.rprog .rbar i{display:block;height:100%;background:var(--ok);border-radius:6px;transition:width .4s}
.rprog .rdots{display:flex;gap:4px;flex-wrap:wrap}.rprog .rdots i{width:8px;height:8px;border-radius:50%;background:var(--line)}.rprog .rdots i.d{background:var(--ok)}.rprog .rdots i.c{background:var(--blue);transform:scale(1.35)}
.rwrap{overflow-x:auto;padding-bottom:4px}
.rgrid{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;overflow:hidden}
.rgrid th{font-size:12px;font-weight:600;color:var(--navy);text-align:left;padding:10px 6px;background:var(--head);border-bottom:1px solid var(--line-soft);max-width:120px}
.rgrid th small{display:block;font-weight:400;color:var(--muted);font-size:10.5px}
.rgrid td{padding:7px 6px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
.rgrid tr:last-child td{border-bottom:0}
.rgrid td.ord{width:46px}.rgrid .room{display:inline-block;min-width:30px;text-align:center;background:var(--mist);border-radius:7px;font-weight:600;color:var(--navy);font-size:12px;padding:2px 6px}
.rgrid td.nm{white-space:nowrap}.rgrid td.nm b{display:block;font-size:13.5px}.rgrid td.nm small{color:var(--muted);font-size:11.5px}.rgrid td.nm .alert{padding:0 4px;font-size:11px;border-radius:5px}
.rgrid td.in{position:relative}
.rgrid .cellw{display:inline-flex;align-items:center;gap:3px}.rgrid .cellw .sl{font-style:normal;color:var(--faint);font-weight:700}
.rgrid td.in input{width:64px;min-height:36px;border:1px solid var(--line);border-radius:9px;padding:0 8px;font-size:15px;font-weight:600;color:var(--navy);text-align:center;background:#fff;font-variant-numeric:tabular-nums}
.rgrid td.in input.bp{width:50px}
.rgrid td.in.oor input.bad{border-color:var(--bad);background:var(--bad-tint);color:#b42318}
.rgrid .prev{display:block;font-size:10.5px;color:var(--faint);margin-top:2px;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}
.rgrid .prev.bad{color:#c75500}
.rgrid td.done{background:#f3faf6}
.rgrid td.done .ok{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-weight:600;font-size:12.5px;margin-right:10px}
.rgrid td.done .dim{font-size:12.5px}.rgrid td.done .linkbtn{font-size:12px;margin-left:12px}
.rgrid .chk{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);white-space:nowrap}
.rgrid .chk input{width:18px;height:18px;margin:0}
.rgrid input.note{width:150px;min-height:36px;border:1px solid var(--line);border-radius:9px;padding:0 8px;font-size:13px}
.rgrid tr.rrow.filled td{background:#fffdf7}
.rgrid tr.rrow.refusing td.in{opacity:.45}
.rsave{position:sticky;bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line-soft);border-radius:12px;padding:10px 14px;margin-top:12px;box-shadow:0 -6px 18px rgba(1,35,87,.06);flex-wrap:wrap}
.rsave .s{color:var(--muted);font-size:13px;flex:1;min-width:220px}.rsave .s b{color:var(--navy)}.rsave .s .alert{padding:0 6px;border-radius:6px;font-size:12.5px}
.rsave .rbtns{display:flex;gap:8px}
/* κινητό: ένας-ένας */
@media (max-width:720px){
  .rwrap{overflow:visible}
  .rgrid,.rgrid tbody,.rgrid tr,.rgrid td{display:block}
  .rgrid thead{display:none}
  .rgrid{background:transparent;border:0}
  .rgrid tr.rrow{background:var(--paper);border:1px solid var(--line-soft);border-radius:16px;padding:12px;margin-bottom:10px}
  .rgrid tr.rrow[hidden]{display:none}
  .rgrid td{border:0;padding:4px 0}
  .rgrid td.ord{display:inline-block;width:auto;margin-right:8px}.rgrid td.nm{display:inline-block;white-space:normal}
  .rgrid td.in{display:inline-block;width:48%;margin:4px 1% 4px 0}
  .rgrid td.in input{width:100%;min-height:48px;font-size:22px}.rgrid td.in input.bp{width:46%}
  .rgrid td.in::before{content:attr(data-l);display:block;font-size:11px;color:var(--muted);margin-bottom:2px}
  .rgrid .prev{text-align:left}
  .rgrid input.note{width:100%}
  .rgrid td.done{border-radius:10px;padding:8px}
  .rsave{position:static;box-shadow:none}
  .rsave .rbtns{width:100%}.rsave .rbtns .btn{flex:1;justify-content:center;min-height:46px}
}

/* ── 1.16.0 (Μ162): η πορεία ── */
.phead{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.phead .pav{width:54px;height:54px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;flex:none}
.phead .pttl{flex:1;min-width:240px}.phead .pttl h1{margin:0}
.phead .pmeta{color:var(--muted);font-size:13px;display:flex;gap:14px;flex-wrap:wrap;margin-top:4px}.phead .pmeta b{color:var(--navy)}
.phead .pmeta .alert{padding:1px 8px;font-size:12px;border-radius:14px}
.phead .acts{display:flex;gap:8px;flex-wrap:wrap}
.ptools{align-items:center}
.ptiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:14px}
.ptile{background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:10px 14px;position:relative;overflow:hidden;border-left:4px solid var(--c);min-height:86px}
.ptile .l{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:6px}.ptile .l span{white-space:nowrap}
.ptile b{display:block;font-size:24px;color:var(--navy);margin-top:2px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.15}
.ptile b small{font-size:12px;font-weight:500;color:var(--muted);margin-left:3px}
.ptile.bad b{color:var(--bad)}.ptile.empty b{color:var(--faint);font-weight:500}
.ptile .s{font-size:11.5px;color:var(--muted);margin-top:2px;display:flex;justify-content:space-between;gap:6px}
.ptile .d{font-weight:600}.ptile .d.up{color:var(--bad)}.ptile .d.dn{color:var(--ok)}.ptile .d.same{color:var(--ok)}
.ptile svg.spark{position:absolute;right:8px;bottom:6px;opacity:.9}
.pcharts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pchart{background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:10px 12px 8px;min-width:0}
.pchart.wide{grid-column:1 / -1}
.pchart .et{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--navy);font-size:13px;margin-bottom:4px}
.pchart .et span{font-weight:400;color:var(--muted);font-size:12px;flex:1;min-width:0}
.pchart .gr{display:block}.pchart .gr svg{width:100%;height:auto;display:block}
@media (max-width:860px){.pcharts{grid-template-columns:1fr}}
.precent td.vv{font-variant-numeric:tabular-nums;white-space:nowrap}
/* τα πλακίδια στο πάνελ της μέτρησης (Μ163) */
.vpv{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin:6px 0 10px}
.vpv div{border:1px solid var(--line-soft);border-radius:10px;padding:6px 10px;background:var(--paper);border-left:4px solid var(--c)}
.vpv div span{display:block;font-size:11px;color:var(--muted)}.vpv div b{font-size:20px;color:var(--navy);font-variant-numeric:tabular-nums}.vpv div b small{font-size:11px;color:var(--muted);font-weight:500;margin-left:2px}
.vpv div.bad{background:var(--bad-tint);border-color:var(--bad)}.vpv div.bad b{color:#b42318}.vpv div.bad span{color:#b42318;font-weight:600}
.vack{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#fff7f6;border:1px solid #f3c9c6;border-radius:12px;padding:10px 12px;margin:4px 0 12px}
.vack .t{flex:1;min-width:200px;font-size:13px;color:#8a1f1f}.vack .t b{color:#8a1f1f}
.sec [data-trend-link]{margin-left:auto}
/* οι γραμμούλες στο «Ό,τι τον αφορά» (Μ164) */
.afora .it.wide{grid-column:1 / -1}
.vspark{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 4px}
.vspark a{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line-soft);border-radius:10px;padding:6px 10px;min-width:112px;color:inherit;text-decoration:none;background:var(--paper);border-left:3px solid var(--c)}
.vspark a:hover{border-color:var(--blue);text-decoration:none}
.vspark a span{font-size:11px;color:var(--muted)}.vspark a b{font-size:15px;color:var(--navy);font-variant-numeric:tabular-nums}.vspark a b.bad{color:var(--bad)}.vspark a b small{font-size:11px;color:var(--muted);font-weight:500}
.vspark svg.spark{width:96px;height:22px}
/* ── 1.16.0 (Μ159): η εικόνα των μετρήσεων — ο γύρος, εκτός ορίων, η εβδομάδα (δύο στήλες) ── */
.eikgrid.two,.eikgrid.two[data-n="4"]{grid-template-columns:1fr 1fr}
@media (max-width:900px){.eikgrid.two,.eikgrid.two[data-n="4"]{grid-template-columns:1fr}}
.vr{display:flex;flex-direction:column;gap:8px}
.vr .row{display:grid;grid-template-columns:96px 1fr auto;gap:10px;align-items:center}
.vr .row .l{font-size:13px;font-weight:600;color:var(--navy)}.vr .row .l small{display:block;font-weight:400;color:var(--muted);font-size:11px}
.vr .vbar{height:12px;border-radius:8px;background:var(--mist);overflow:hidden}
.vr .vbar i{display:block;height:100%;border-radius:8px;background:var(--ok);transition:width .5s}
.vr .vbar i.part{background:#e0a21b}.vr .vbar i.none{background:transparent}
.vr .n{font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums;font-size:14px;min-width:50px;text-align:right}
.vr .miss{display:flex;flex-wrap:wrap;gap:5px;margin:-2px 0 2px 106px}
.vr .miss a{font-size:11.5px;background:#fff0e2;color:#c75500;border-radius:14px;padding:2px 8px;font-weight:600;text-decoration:none}
.vr .miss span{font-size:11.5px;color:var(--muted);padding:2px 0}
.vr .go{display:flex;gap:8px;margin-top:4px;align-items:center}
.vagg{width:100%;border-collapse:collapse;font-size:12.5px}.vagg td{padding:5px 6px;border-bottom:1px solid var(--line-soft);text-align:center}.vagg td.u{text-align:left}
.vagg .rc{display:inline-block;border-radius:8px;padding:2px 8px;font-variant-numeric:tabular-nums;color:var(--navy)}.vagg .rc.full{background:var(--ok-tint);color:var(--ok)}.vagg .rc.part{background:#fff0e2;color:#c75500}.vagg .rc.none{background:var(--mist);color:var(--muted)}
.vagg td small{display:block;color:var(--muted);font-size:10.5px}
.voor .pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.voor .pills a{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line-soft);border-radius:20px;padding:3px 9px 3px 6px;font-size:12px;color:var(--navy);background:var(--paper);text-decoration:none}
.voor .pills a:hover{border-color:var(--blue)}.voor .pills a b{font-weight:700;color:var(--bad)}.voor .pills a i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.voor ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.voor li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:6px 8px;border:1px solid var(--line-soft);border-radius:10px;background:var(--paper)}
.voor li .who{font-weight:600;color:var(--navy);font-size:13px;min-width:0}.voor li .who small{display:block;font-weight:400;color:var(--muted);font-size:11.5px}
.voor li .val{font-weight:700;color:var(--bad);font-variant-numeric:tabular-nums;font-size:14px;text-align:right;text-decoration:none;white-space:nowrap}.voor li .val small{display:block;font-weight:500;color:var(--muted);font-size:10.5px}
.voor li .btn{min-height:28px;padding:0 9px;font-size:12px}
.vweekw{overflow-x:auto}
.vweek{width:100%;border-collapse:separate;border-spacing:0 3px;font-size:12px}
.vweek th{font-weight:500;color:var(--muted);font-size:11px;text-align:center;padding:0 0 2px}
.vweek th.today{color:var(--blue-deep);font-weight:700}
.vweek td{text-align:center;padding:0 2px}.vweek td.nm{text-align:left;white-space:nowrap;padding-right:6px}
.vweek td.nm a{color:var(--navy);font-weight:500;text-decoration:none}.vweek td.nm small{color:var(--muted);font-weight:400;margin-right:4px}
.vweek .c{display:inline-flex;align-items:center;justify-content:center;width:30px;height:24px;border-radius:7px;font-weight:600;font-size:11.5px;position:relative;text-decoration:none;color:#fff}
.vweek .c:hover{outline:2px solid var(--blue);outline-offset:1px;text-decoration:none}
.vweek .c.n0{background:#fdeceb;color:#c42b2b}.vweek .c.n1{background:#cfe3fb;color:#0d42b0}.vweek .c.n2{background:#7fb1ec}.vweek .c.n3{background:#2a86c8}
.vweek .c .a{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--bad);border:2px solid #fff}
.vweek .c .r{position:absolute;bottom:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:#e0a21b;border:2px solid #fff}
html[data-skin=night] .vweek .c .a,html[data-skin=night] .vweek .c .r{border-color:#0f2447}

/* ───────── 1.17.0 (Μ167): η Δέσμη «Άνοιξε σε καρτέλες» ───────── */
.desmi{display:flex;flex-direction:column;height:calc(100vh - 84px);margin:-22px -24px -40px}
.dstrip{display:flex;align-items:center;gap:12px;padding:8px 14px;background:var(--paper);border-bottom:1px solid var(--line);flex:0 0 auto;flex-wrap:wrap}
.dstrip .dcode{display:flex;flex-direction:column;line-height:1.15;min-width:120px}
.dstrip .dcode b{color:var(--navy);font-size:13.5px}
.dtabs{display:flex;gap:6px;flex:1 1 auto;min-width:0;overflow-x:auto;padding:2px 0}
.dtab{display:inline-flex;align-items:center;gap:7px;padding:6px 8px 6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--mist);color:var(--ink);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;max-width:260px}
.dtab .n{display:inline-flex;width:18px;height:18px;border-radius:50%;background:var(--navy);color:#fff;font-size:11px;align-items:center;justify-content:center}
.dtab .t{overflow:hidden;text-overflow:ellipsis}
.dtab .u{color:var(--muted);font-weight:500;font-size:11px}
.dtab .x{color:var(--muted);font-weight:700;padding:0 2px;border-radius:4px}
.dtab .x:hover{background:var(--line);color:var(--bad)}
.dtab.on{background:var(--paper);border-color:var(--navy);box-shadow:0 1px 0 var(--navy)}
.dtab.pair{border-style:dashed}
.dacts{display:flex;gap:6px;align-items:center}
.dskip{margin:8px 14px 0}
.dframes{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:1fr;gap:8px;padding:8px 14px 10px}
.dframes.pair{grid-template-columns:1fr 1fr}
.dframe{display:none;min-height:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}
.dframe.on{display:block}
.dframe iframe{width:100%;height:100%;border:0;display:block}
body.framed .top,body.framed .nav,body.framed .unitline,body.framed .tabbar,body.framed #vkbtn{display:none !important}
body.framed .body,body.framed .body.has-side{display:block}
body.framed .main{padding:14px 16px 30px}
@media (max-width:900px){.desmi{height:calc(100vh - 60px);margin:-16px -14px -90px}.dframes.pair{grid-template-columns:1fr}}

/* 1.17.0: η κάρτα «Δέσμη» στη συνομιλία του Βαλάκι */
.vkbundle .vkitems{list-style:none;margin:4px 0 8px;padding:0;display:flex;flex-direction:column;gap:5px}
.vkbundle .vkitems li{display:flex;gap:8px;align-items:flex-start;font-size:12.5px}
.vkbundle .vkitems .mark{flex:0 0 20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px}
.vkbundle .mark.ok{background:var(--ok-tint);color:var(--ok)}.vkbundle .mark.ask{background:#fff3d6;color:#9a6a00}.vkbundle .mark.no{background:var(--bad-tint, #fde8e8);color:var(--bad)}
.vkbundle .sub.bad{color:var(--bad)}
.vkbundle .vkchoices{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}

/* ───────── 1.17.1 (Μ156, Μ192–Μ195): οι Περιοδικές υποχρεώσεις — το ημερολόγιο του έτους, τα κελιά, οι φορές ───────── */
.tblwrap{overflow-x:auto;max-width:100%;scrollbar-width:thin}
.ethos{width:100%;border-collapse:separate;border-spacing:0;background:var(--paper);border-radius:var(--r-lg);border:1px solid var(--line-soft);font-size:13px;min-width:780px}
.ethos th,.ethos td{padding:7px 8px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
.ethos thead th{font-weight:500;color:var(--muted);font-size:12px;background:var(--head);text-align:center;white-space:nowrap}
.ethos thead th:first-child{text-align:left;border-top-left-radius:var(--r-lg)}
.ethos thead th:last-child{border-top-right-radius:var(--r-lg)}
.ethos td.n{min-width:250px;max-width:420px}
.ethos td.n b{color:var(--navy);font-weight:600}
.ethos td.n a{color:inherit}
.ethos td.n .sub{font-size:12px}
.ethos td.m{text-align:center;width:52px}
.ethos tr:last-child td{border-bottom:0}
.ethos td.m.now{background:#fffaf0}
.ethos thead th.now{background:#fff0e2;color:#c75500}
.ethos tr.paused td.n b{color:var(--muted)}
.ethos tr.paused .cl{opacity:.55}
.cl{display:inline-flex;align-items:center;justify-content:center;gap:1px;width:30px;height:24px;border-radius:7px;font-size:11.5px;font-weight:700;text-decoration:none;vertical-align:middle}
.cl small{font-size:9px;font-weight:600;opacity:.8}
.cl.done{background:var(--ok-tint);color:var(--ok)}
.cl.done_late{background:var(--ok-tint);color:var(--ok);outline:1px dashed var(--ok);outline-offset:-1px}
.cl.open{background:#fff0e2;color:#c75500}
.cl.late{background:var(--bad-tint);color:var(--bad)}
.cl.missed{background:var(--bad);color:#fff}
.cl.justified{background:var(--sky-tint);color:var(--blue-deep)}
.cl.none{background:var(--mist);color:var(--faint)}
.cl.future,.cl.past{background:transparent;border:1px dashed var(--line);color:var(--faint)}
.cl.card{background:transparent;border:1px dashed var(--blue);color:var(--blue-deep)}
a.cl:hover{filter:brightness(.92)}
.src{display:inline-flex;align-items:center;font-size:11px;font-weight:600;border-radius:5px;padding:1px 6px;margin-left:6px;vertical-align:middle;white-space:nowrap}
.src.u{background:var(--mist);color:var(--muted)}.src.k{background:var(--sky-tint);color:var(--blue-deep)}.src.c{background:#f3ecff;color:#5b2ea6}.src.p{background:var(--bad-tint);color:var(--bad)}
.lg{display:flex;gap:14px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:12.5px;margin:9px 2px 0}
.lg span{display:inline-flex;align-items:center;gap:6px}
.runs{display:flex;flex-direction:column;gap:6px}
.runs .r{display:flex;gap:10px;align-items:center;font-size:13px;padding:7px 10px;border-radius:9px;background:var(--mist)}
.runs .r.st-late,.runs .r.st-missed{background:var(--bad-tint)}
.runs .r .w{flex:1;min-width:0}
.runs .r .w b{color:var(--navy)}
.runs .r .sub{font-size:12px}
.vkline{display:flex;gap:10px;align-items:flex-start;background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:10px 14px;margin:10px 0 14px;font-size:13.5px;color:var(--ink);line-height:1.45}
.vkline img{width:28px;height:28px;flex:none}
@media print{.ethos{min-width:0}.vkline,[data-periodikes-bar]{display:none}}
.cl svg.i{width:13px;height:13px;stroke-width:2.6}

/* ───────── 1.17.2 (Μ157–Μ158β): το Ημερολόγιο ───────── */
.calbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.calbar .callabel{font-size:16px;color:var(--navy);margin:0 4px;flex:1 1 auto}
.callayers{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.callayers .chip.pickable{gap:6px}
.callayers .chip.coming{opacity:.6;border-style:dashed}
.callayers .chip .dim{font-size:11.5px}
.calmonth{background:var(--paper);border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden}
.calhead{display:grid;grid-template-columns:repeat(7,1fr);background:var(--head);color:var(--muted);font-size:12px;font-weight:500}
.calhead div{padding:7px 8px;text-align:center}
.calweek{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line-soft)}
.calday{min-height:104px;padding:5px 6px;border-right:1px solid var(--line-soft);display:flex;flex-direction:column;gap:3px;min-width:0}
.calday:last-child{border-right:0}
.calday.out{background:var(--mist);opacity:.75}
.calday.today{background:#fffaf0}
.calday.dropok{outline:2px dashed var(--blue);outline-offset:-3px;background:var(--sky-tint)}
.calday .dnum{align-self:flex-end;font-size:12.5px;font-weight:600;color:var(--muted);width:24px;height:24px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}
.calday.today .dnum{background:var(--navy);color:#fff}
.calday .dnum:hover{background:var(--sky-tint);text-decoration:none;color:var(--blue-deep)}
.calday .evs{display:flex;flex-direction:column;gap:2px;min-width:0}
.calday .more{font-size:11.5px;color:var(--blue);padding:1px 4px}
.ev{display:flex;gap:4px;align-items:center;min-width:0;font-size:12px;line-height:1.3;padding:2px 6px;border-radius:6px;background:var(--mist);color:var(--ink);border-left:3px solid var(--lc,var(--faint));text-decoration:none;cursor:pointer}
.ev:hover{filter:brightness(.96);text-decoration:none}
.ev span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ev time{font-weight:600;color:var(--navy);flex:none;font-size:11px}
.ev small{display:block;color:var(--muted);font-size:11px;white-space:normal}
.ev[draggable=true]{cursor:grab}
.ev.dragging{opacity:.4}
.ev.l-tasks{--lc:#0d5bdb}.ev.l-deadlines{--lc:#8a5a00}.ev.l-periodic{--lc:#5b2ea6}.ev.l-shifts{--lc:#0e8f9c;background:#e6f6f7}.ev.l-reminders{--lc:#c75500}
.ev.late{background:var(--bad-tint);color:var(--bad);--lc:var(--bad)}.ev.soon{background:#fff0e2}.ev.done{opacity:.6;text-decoration:line-through}
.ev.off{background:var(--mist);color:var(--muted)}.ev.draft{border-left-style:dashed}.ev.cont{opacity:.7}
.calweekv{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.wday{background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:8px;min-height:220px;display:flex;flex-direction:column;gap:6px;min-width:0}
.wday.today{border-color:var(--navy);background:#f3f6fb}
.wday .wh{font-size:12.5px;color:var(--muted);border-bottom:1px solid var(--line-soft);padding-bottom:6px}
.wday .wh b{color:var(--navy)}
.wday .evs{display:flex;flex-direction:column;gap:4px}
.wday .ev span{white-space:normal}
.empty2{font-size:12px;padding:4px 6px}
.dlist{display:flex;flex-direction:column}
.dlist .drow{display:flex;gap:10px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line-soft);--lc:var(--faint)}
.dlist .drow:last-child{border-bottom:0}
.dlist .drow .dtime{width:64px;flex:none;font-size:12.5px;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums}
.dlist .drow .dot{width:10px;height:10px;border-radius:50%;background:var(--lc);flex:none}
.dlist .drow .w{flex:1;min-width:0}
.dlist .drow.l-tasks{--lc:#0d5bdb}.dlist .drow.l-deadlines{--lc:#8a5a00}.dlist .drow.l-periodic{--lc:#5b2ea6}.dlist .drow.l-shifts{--lc:#0e8f9c}.dlist .drow.l-reminders{--lc:#c75500}
.dlist .drow.late .w b,.dlist .drow.late .dtime{color:var(--bad)}.dlist .drow.done .w b{color:var(--muted);text-decoration:line-through}
.callist .box{margin-bottom:12px}
[data-cal-layers-hidden] .ev{display:none}
.ev.lhide,.drow.lhide{display:none!important}
@media (max-width:760px){
  .calday{min-height:64px;padding:3px}
  .calday .evs .ev span,.calday .evs .ev time{display:none}
  .calday .evs{flex-direction:row;flex-wrap:wrap;gap:3px}
  .calday .ev{width:9px;height:9px;padding:0;border-radius:50%;border-left:0;background:var(--lc,var(--faint))}
  .calday .more{font-size:10px}
  .calweekv{grid-template-columns:1fr}
  .wday{min-height:0}
  .calbar .callabel{order:-1;flex:1 1 100%}
}
@media print{.calbar,.callayers,.pagehead .acts,.note{display:none}.calmonth{border:0}.calday{min-height:90px}}

/* ───────── 1.17.3 (Δέσμη σκαλί Β+Γ): η σελίδα «Δέσμες», η επαλήθευση, η κάρτα ───────── */
.desmilist{display:grid;gap:12px;margin:10px 0 22px}
.desmirow .dtop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.desmirow .dname,.desmilist .dname{color:var(--navy);font-size:15px}
.desmirow.shared{border-left:3px solid var(--navy)}
.ditems{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}
.ditems li{display:flex;gap:8px;align-items:center}
.ditems .mark{flex:0 0 18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.ditems .mark svg.i{width:11px;height:11px}
.ditems .mark.ok{background:var(--ok-tint);color:var(--ok)}.ditems .mark.no{background:var(--bad-tint,#fde8e8);color:var(--bad)}
.ditems li.skip{color:var(--muted)}
.dmeta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;font-size:12.5px;color:var(--muted)}
.dmeta .chip svg.i{width:12px;height:12px;margin-right:4px}
.dmeta .chip.sched{background:#efe9fb;color:#5b2ea6}
.ok-badge{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--ok);background:var(--ok-tint);border-radius:999px;padding:3px 10px;vertical-align:middle;margin-left:8px}
.ok-badge svg.i{width:13px;height:13px}
[data-desmi-verify] h3{margin:18px 0 6px}
.vkbundle .acts{flex-wrap:wrap}
@media (max-width:760px){.desmirow .dtop .acts{width:100%}.dacts{flex-wrap:wrap}}

/* ───────── 1.18.0 «Το Σύμπαν της iSCA»: ο παλμός της επάνω μπάρας, το μικρό παράθυρο, η προστασία οθόνης ───────── */
.palmos{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;padding:0;cursor:pointer;flex:none;display:grid;place-items:center;margin-right:2px}
.palmos:hover{background:var(--head)}
.palmos canvas{width:40px;height:40px;display:block;border-radius:50%}
.palmos .pn{position:absolute;top:-6px;right:-8px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;min-width:18px;height:18px;border-radius:9px;font-size:11px;font-weight:600;line-height:1;background:var(--navy);color:#fff;font-variant-numeric:tabular-nums}
@media (max-width:760px){.palmos{background:rgba(255,255,255,.18);border-color:transparent}.palmos .pn{background:#fff;color:var(--navy)}}
.sympanwin{position:fixed;z-index:60;background:#03060f;border:1px solid rgba(140,160,210,.45);border-radius:14px;box-shadow:0 18px 50px -12px rgba(1,35,87,.55);display:flex;flex-direction:column;overflow:hidden;min-width:260px;min-height:180px}
.sympanwin.moving{user-select:none}
.sympanwin.moving iframe{pointer-events:none}
.sympanwin .swh{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 12px;background:rgba(8,14,34,.95);color:#dfe7f6;font-size:12px;cursor:move;touch-action:none;border-bottom:1px solid rgba(140,160,210,.25)}
.sympanwin .swh b{color:#fff;font-weight:600}
.sympanwin .swh .live{display:inline-flex;align-items:center;gap:5px;color:#8fa0c2;font-size:11px}
.sympanwin .swh .live i{width:6px;height:6px;border-radius:50%;background:#39d98a;box-shadow:0 0 8px #39d98a}
.sympanwin .swh .sp{flex:1}
.sympanwin .swb{font:inherit;font-size:11px;font-weight:600;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(140,160,210,.3);border-radius:8px;padding:4px 8px;cursor:pointer;min-height:26px}
.sympanwin .swb[aria-pressed=true]{background:#1d4ed8;border-color:#1d4ed8}
.sympanwin iframe{flex:1;border:0;width:100%;min-height:0;background:#03060f}
.sympanwin .swr{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 50%,rgba(140,160,210,.6) 50%,rgba(140,160,210,.6) 60%,transparent 60%,transparent 75%,rgba(140,160,210,.6) 75%,rgba(140,160,210,.6) 85%,transparent 85%)}
.sympan-saver{position:fixed;inset:0;z-index:2000;background:#03060f}
.sympan-saver iframe{width:100%;height:100%;border:0;display:block}
.sympancard{background:radial-gradient(circle at 85% 10%,rgba(95,180,255,.35) 0,transparent 45%),radial-gradient(circle at 15% 90%,rgba(255,181,71,.28) 0,transparent 50%),#061330;color:#dfe7f6;padding:14px 16px;border-color:#061330}
.sympancard .sc-t{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.sympancard .sc-t b{color:#fff;font-size:15px}
.sympancard .live{display:inline-flex;align-items:center;gap:5px;color:#8fa0c2;font-size:11px}
.sympancard .live i{width:7px;height:7px;border-radius:50%;background:#39d98a;box-shadow:0 0 8px #39d98a}
.sympancard .sc-p{color:#c9d4ea;font-size:13px}
.sympancard .sc-p b{color:#fff}
.sympancard .sc-p b.bad{color:#ffb3ac}
.sympancard .rowacts{margin-top:10px;align-items:center;gap:10px}
.sympancard .rowacts .sub{color:#8fa0c2;font-size:12px}

/* 1.19.0 (Μ196–Μ200): η καρτέλα-σχέση «Πρόσωπο αναφοράς» — chips, «χωρίς πρόσωπο», ο καθρέφτης στον ασθενή / εργαζόμενο, τα κενά */
.sxchips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:4px 0 10px}
.sxchips .chip{cursor:pointer;text-decoration:none}
.sxchips .chip.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.sxchips .chip.on b{color:#fff}
.sxchips .chip.bad{background:#fde9e4;color:#9b2c12;border-color:#f3c2b5}
.sxchips .chip.bad.on{background:var(--bad);color:#fff;border-color:var(--bad)}
.sxchips .chip.warn{background:#fff4d6;color:#8a5a00;border-color:#f1d78a}
.sxwithout{margin-bottom:12px}
.sxmissing{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
.sxmissing .mi{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line-soft);border-radius:10px;padding:6px 10px;font-size:13px}
.sxmissing .mi.late{border-color:#f3c2b5;background:#fff8f6}
.sxmissing .mi small{color:var(--muted)}
.sxrel{display:grid;grid-template-columns:auto 1fr auto;gap:8px 12px;align-items:center;padding:8px 10px;border:1px solid var(--line-soft);border-radius:10px;margin:6px 0;background:var(--paper)}
.sxrel .av{width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.sxrel.pending .av{background:#e0a21b}
.sxrel.ended .av{background:#9aa5b5}
.sxrel .nm b{display:block}
.sxrel .nm small{color:var(--muted);display:block}
.sxrel .steps{display:flex;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-top:3px}
.sxrel .steps .ok{color:#1d6b3a}
.sxrel .steps .wt{color:#8a5a00}
.sxrel .rt{white-space:nowrap}
.sxgap{font-size:12.5px;color:#9b2c12;background:#fde9e4;border-radius:8px;padding:5px 10px;margin:6px 0}
.sxnote{margin:6px 0 10px}
.sxnote.bad{border-color:#f3c2b5;background:#fff8f6}
.sxgrid{width:100%;border-collapse:separate;border-spacing:0 4px;font-size:13px}
.sxgrid th{text-align:left;font-weight:600;color:var(--muted);padding:2px 6px;font-size:12px}
.sxgrid td{padding:2px 6px;vertical-align:middle}
.sxgrid td.n{white-space:nowrap;font-weight:600}
.sxgrid td.n small{display:block;font-weight:400;color:var(--muted)}
.pt{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:12px;margin:2px 3px 2px 0;border:1px solid #bfe2cc;background:#e7f4ec;color:#1d6b3a;text-decoration:none}
.pt.w{background:#fff4d6;color:#8a5a00;border-color:#f1d78a}
.pt.x{background:#fde9e4;color:#9b2c12;border-color:#f3c2b5}
.pt i{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}
.sxtiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:4px 0 10px}
.sxtiles .s3{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--c) 10%,var(--paper));border:1px solid color-mix(in srgb,var(--c) 30%,var(--paper));text-decoration:none}
.sxtiles .s3 b{font-size:24px;line-height:1;color:var(--c)}
.sxtiles .s3 span{font-size:12px;color:var(--muted)}
@media (max-width:720px){.sxtiles{grid-template-columns:1fr 1fr}.sxrel{grid-template-columns:auto 1fr}.sxrel .rt{grid-column:2}}

/* 1.19.1 (Μ206): το κουμπί «Παρατήρηση» της επάνω μπάρας και τα chips του πλαισίου στη φόρμα */
.obsbtn{margin-right:6px;color:var(--muted)}
.obsbtn:hover{color:var(--navy);background:var(--head)}
.obschips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.obschips .st{font-size:12px}
.obsmd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;white-space:pre-wrap;color:var(--ink);background:var(--head);border-radius:var(--r-lg);padding:14px 16px;max-height:420px;overflow:auto;border:1px solid var(--line-soft)}
.obstbl td.txt{max-width:520px}
.obstbl td small{color:var(--muted);display:block;line-height:1.35}
@media (max-width:720px){.obsbtn{display:none}}

/* 1.19.3 (Μ207–Μ210): ο Νυχτοφύλακας στην Υγεία, η λωρίδα και το κουτί του staging */
.nyxta-moon{width:30px;height:30px;border-radius:8px;background:var(--navy);display:inline-flex;align-items:center;justify-content:center;color:#ffd96b;font-size:18px;flex:none}
.nyxta-dots{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.nyxta-dots .dot{width:14px;height:14px;border-radius:50%;display:inline-block;background:var(--faint);flex:none}
.nyxta-dots .dot.ok{background:var(--ok)}.nyxta-dots .dot.warn{background:#e39a2d}.nyxta-dots .dot.bad{background:var(--bad)}
.nyxta-dots .dot.none{opacity:.55}
.nyxta-dots a.dot{transition:transform .12s}.nyxta-dots a.dot:hover{transform:scale(1.35)}
.nyxta-dots .dot.cur{box-shadow:0 0 0 3px var(--bg,#fff),0 0 0 5px currentColor;color:var(--navy)}
.nyxta-dots .dot.cur.ok{color:var(--ok)}.nyxta-dots .dot.cur.warn{color:#e39a2d}.nyxta-dots .dot.cur.bad{color:var(--bad)}
.nyxta-legend{font-size:11.5px;margin-top:5px;display:flex;justify-content:space-between;max-width:570px;gap:8px}
.nyxta-light{margin:10px 0 0;padding:10px 12px;border:1px solid #bfe3c9;background:#eef9f1;border-radius:10px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nyxta-light .lamp{width:12px;height:12px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px #cdeed7;flex:none}
.nyxta-light>div{flex:1;min-width:240px}
.nyxta-light.warn{border-color:#f0d3a3;background:#fdf5e7}.nyxta-light.warn .lamp{background:#e39a2d;box-shadow:0 0 0 4px #f6e2bf}
.nyxta-light.bad{border-color:#eab5b5;background:#fdeeee}.nyxta-light.bad .lamp{background:var(--bad);box-shadow:0 0 0 4px #f5cfcf}
.nyxta-light.none{border-color:var(--line);background:transparent}.nyxta-light.none .lamp{background:var(--faint);box-shadow:none}
.nyxta-tbl tr.done td{opacity:.75}
.staging-stripe{position:sticky;top:0;left:0;right:0;height:26px;background:repeating-linear-gradient(135deg,#d64545 0 18px,#b73636 18px 36px);color:#fff;font-weight:700;font-size:12.5px;letter-spacing:.08em;display:flex;align-items:center;justify-content:center;gap:12px;z-index:60;box-shadow:0 2px 6px rgba(0,0,0,.25);padding:0 10px;overflow:hidden;white-space:nowrap}
.staging-stripe .t{font-weight:500;letter-spacing:0;opacity:.95;overflow:hidden;text-overflow:ellipsis}
@media (max-width:760px){.staging-stripe .t{display:none}.nyxta-legend{max-width:none}}
