/* ============================================================
   easylog — premium design system  ("quiet luxury fintech")
   Font: Commissioner (πλήρη ελληνικά) — self-hosted (OFL), βλ. fonts/
   ============================================================ */
@font-face{
  font-family:'Commissioner';
  src:url('/static/fonts/commissioner-greek.woff2') format('woff2');
  font-weight:300 800;font-style:normal;font-display:swap;
  unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}
@font-face{
  font-family:'Commissioner';
  src:url('/static/fonts/commissioner-latin.woff2') format('woff2');
  font-weight:300 800;font-style:normal;font-display:swap;
  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+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root{
  --font: 'Commissioner', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --mono: ui-monospace,'SF Mono',Menlo,monospace;

  --bg:#F4F5F2;          /* warm neutral canvas */
  --bg-2:#ECEEE9;
  --bg-3:#F8F9F6;
  --card:#FFFFFF;
  --ink:#14181F;         /* near-black slate */
  --navy:#182430;        /* headings / deep */
  --navy2:#26343f;
  --muted:#5F6975;
  --faint:#7B8494;
  --line:rgba(20,24,31,.08);
  --line-2:rgba(20,24,31,.13);

  --brand:#0B7B5B;       /* emerald */
  /* παράγωγα brand — static fallbacks· ξαναϋπολογίζονται με color-mix
     παρακάτω ώστε το white-label χρώμα να «βάφει» ΟΛΟ το UI */
  --brand-2:#0A6A4E;              /* hover */
  --brand-ink:#075E45;            /* κείμενο σε tint */
  --brand-soft:#E9F3EE;           /* tinted επιφάνειες */
  --brand-hi:#12a074;             /* highlight/gradient άκρο */
  --brand-nav:#5fe0b0;            /* accent σε σκούρο nav */
  --focus-ring:rgba(11,123,91,.14);
  --brand-wash:rgba(11,123,91,.05);
  --row-hover:rgba(11,123,91,.03);
  --brand-line-soft:rgba(11,123,91,.14);
  --brand-line-mid:rgba(11,123,91,.24);
  --brand-line:rgba(11,123,91,.38);
  --brand-glow-lo:rgba(11,123,91,.25);
  --brand-glow-hi:rgba(11,123,91,.55);

  --green:#0B7B5B;       /* income */
  --green-ink:#0A6349;
  --red:#C0392B;         /* expenses */
  --red-ink:#A5312A;
  --red-soft:#FBEDEB;
  --indigo:#4A44B8;      /* bank / ΦΠΑ */
  --indigo-ink:#413CA6;
  --indigo-soft:#ECEBFB;
  --purple:#5B54D6;
  --purple-soft:#ECEBFB;
  --amber:#8A5F14;
  --amber-soft:#FBF1DB;
  --slate-soft:#EDF0F2;
  --slate-ink:#46545F;

  /* κλίμακα τυπογραφίας */
  --fs-2xs:11px;
  --fs-xs:12px;
  --fs-sm:13px;
  --fs-md:14px;
  --fs-lg:15px;
  --fs-xl:17px;
  --fs-2xl:22px;
  --fs-3xl:28px;
  /* ρυθμός 4px */
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;

  --radius:16px;
  --radius-sm:11px;
  --shadow-sm:0 1px 2px rgba(16,24,32,.05);
  --shadow:0 1px 2px rgba(16,24,32,.04), 0 14px 30px -18px rgba(16,24,32,.22);
  --shadow-lg:0 30px 64px -30px rgba(12,18,26,.34);
}
/* white-label: όλα τα παράγωγα βγαίνουν από το --brand */
@supports (color:color-mix(in srgb,red 50%,blue)){
  :root{
    --brand-2:color-mix(in srgb,var(--brand) 86%,black);
    --brand-ink:color-mix(in srgb,var(--brand) 72%,black);
    --brand-soft:color-mix(in srgb,var(--brand) 9%,white);
    --brand-hi:color-mix(in oklab,var(--brand) 78%,white);
    --brand-nav:color-mix(in oklab,var(--brand) 55%,white);
    --focus-ring:color-mix(in srgb,var(--brand) 16%,transparent);
    --brand-wash:color-mix(in srgb,var(--brand) 5%,transparent);
    --row-hover:color-mix(in srgb,var(--brand) 3%,transparent);
    --brand-line-soft:color-mix(in srgb,var(--brand) 14%,transparent);
    --brand-line-mid:color-mix(in srgb,var(--brand) 24%,transparent);
    --brand-line:color-mix(in srgb,var(--brand) 38%,transparent);
    --brand-glow-lo:color-mix(in srgb,var(--brand) 25%,transparent);
    --brand-glow-hi:color-mix(in srgb,var(--brand) 55%,transparent);
  }
}
*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);
  font-size:var(--fs-md);letter-spacing:-.011em;line-height:1.55;overflow-x:hidden;
  background-image:radial-gradient(1200px 600px at 100% -10%, var(--brand-wash), transparent 60%);}
::selection{background:var(--focus-ring)}
a{color:var(--brand);text-decoration:none;transition:color .15s}
a:hover{color:var(--brand-2)}
img{max-width:100%}

/* ---------- Top navigation ---------- */
nav.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  padding:0 20px;min-height:62px;
  background:linear-gradient(180deg,#111C26,#0E1720);
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset, 0 6px 24px -12px rgba(0,0,0,.5);}
nav.top .navlinks{display:flex;align-items:center;gap:2px;flex:1;min-width:0;order:1}
nav.top a{color:rgba(233,238,244,.72);padding:8px 12px;border-radius:9px;font-size:var(--fs-md);font-weight:500;
  transition:background .16s,color .16s;white-space:nowrap}
nav.top a:hover{background:rgba(255,255,255,.08);color:#fff}
nav.top .sp{flex:1}
nav.top .code{font-family:var(--mono);background:rgba(255,255,255,.09);
  color:#cfeee1;padding:5px 11px;border-radius:8px;font-size:var(--fs-xs);letter-spacing:.02em;
  border:1px solid rgba(255,255,255,.08);white-space:nowrap}
nav.top .bell{position:relative;order:2;color:rgba(233,238,244,.82);padding:10px 11px;border-radius:9px;line-height:1;
  display:inline-flex;align-items:center}
nav.top .bell svg{width:18px;height:18px;display:block}
nav.top .bell:hover{background:rgba(255,255,255,.08)}
nav.top .bell .dot{position:absolute;top:2px;right:2px;background:#e5484d;color:#fff;font-size:10px;
  font-weight:700;min-width:16px;height:16px;line-height:16px;text-align:center;border-radius:8px;padding:0 3px;
  box-shadow:0 0 0 2px #10202b}
/* hamburger — μόνο mobile */
nav.top .navtog{display:none;align-items:center;justify-content:center;width:40px;height:40px;
  border-radius:10px;color:#e9eef4;cursor:pointer;transition:background .15s}
nav.top .navtog:hover{background:rgba(255,255,255,.09)}
nav.top .navtog svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}
#navtog{display:none}

/* ---------- User menu (avatar dropdown, top-right) ---------- */
nav.top .usermenu{position:relative;order:3;flex:none;display:flex;align-items:center;margin-left:2px}
nav.top .avatar{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.15);
  background:linear-gradient(150deg,var(--brand-hi),var(--brand));color:#fff;font-weight:700;font-size:var(--fs-sm);
  letter-spacing:.01em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  padding:0;transition:box-shadow .16s,transform .1s;box-shadow:0 2px 9px -2px var(--brand-glow-hi)}
nav.top .avatar:hover{box-shadow:0 4px 14px -3px var(--brand-glow-hi)}
nav.top .avatar:active{transform:scale(.94)}
nav.top .avatar[aria-expanded="true"]{box-shadow:0 0 0 3px var(--brand-line)}

.umpanel{position:absolute;top:calc(100% + 12px);right:0;width:290px;max-width:calc(100vw - 20px);
  max-height:calc(100vh - 84px);overflow-y:auto;background:#fff;border:1px solid rgba(20,24,31,.09);
  border-radius:16px;padding:8px;z-index:60;
  box-shadow:0 24px 52px -16px rgba(9,20,28,.44), 0 6px 16px -8px rgba(9,20,28,.26);
  opacity:0;transform:translateY(-6px) scale(.985);transform-origin:top right;pointer-events:none;
  transition:opacity .16s ease,transform .16s ease}
.umpanel.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.umhead{display:flex;align-items:center;gap:11px;padding:10px 10px 12px}
.umav{width:42px;height:42px;flex:none;border-radius:12px;color:#fff;font-weight:700;font-size:var(--fs-lg);
  display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,var(--brand-hi),var(--brand));
  box-shadow:0 3px 10px -3px var(--brand-glow-hi)}
.umid{min-width:0}
.umname{font-weight:650;font-size:var(--fs-lg);color:var(--navy);line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.umsub{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.umcode{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 4px 4px;
  padding:8px 11px;background:var(--brand-soft);border:1px solid var(--brand-line-soft);border-radius:10px;
  font-size:var(--fs-xs);color:var(--brand-ink)}
.umcode b{font-family:var(--mono);color:var(--brand);letter-spacing:.03em;font-size:var(--fs-xs);font-weight:700}
.umsec{border-top:1px solid var(--line);padding:6px 0 4px;margin-top:3px}
.umlab{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:var(--faint);
  padding:5px 12px 5px}
nav.top .umpanel a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:10px;
  color:#25332e;font-size:var(--fs-md);font-weight:500;text-decoration:none;transition:background .13s,color .13s}
nav.top .umpanel a:hover{background:var(--brand-soft);color:var(--brand-2)}
.umi{width:20px;flex:none;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.umi svg{width:17px;height:17px;color:var(--muted)}
.umout .umi svg{color:inherit}
nav.top .umpanel a:hover .umi svg{color:inherit}
.umout{border-top:1px solid var(--line)!important;margin-top:4px;padding-top:11px!important;
  color:var(--red)!important;font-weight:600}
.umout:hover{background:var(--red-soft)!important;color:var(--red-ink)!important}

/* ---------- Breadcrumbs (λογιστής -> πελάτης) + αναζήτηση πελατών ---------- */
.crumbs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--fs-sm);margin:-6px 0 14px;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none;padding:3px 9px;border-radius:8px;font-weight:500;
  transition:background .13s,color .13s}
.crumbs a:hover{background:var(--brand-soft);color:var(--brand-2)}
.crumbs .sep{color:var(--faint)}
.crumbs .cur{color:var(--navy);font-weight:650;padding:3px 4px}
.csearch{position:relative;margin:2px 0 14px}
.csearch svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;
  fill:none;stroke:var(--faint);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.csearch input{width:100%;padding:11px 14px 11px 40px;border:1px solid var(--line-2);border-radius:12px;
  font:inherit;font-size:var(--fs-md);background:var(--bg-3);color:var(--ink);
  transition:border-color .15s,box-shadow .15s,background .15s}
.csearch input::placeholder{color:var(--faint)}
.csearch input:focus{outline:none;border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px var(--focus-ring)}
.mlist a.cur{background:var(--brand-soft);color:var(--brand-2);font-weight:650}

/* ---------- Layout & headings ---------- */
.wrap{max-width:1120px;margin:0 auto;padding:var(--sp-8) var(--sp-6) 64px}
h1{font-size:var(--fs-3xl);font-weight:650;color:var(--navy);margin:0 0 5px;letter-spacing:-.025em;line-height:1.2}
h2{font-size:var(--fs-xl);font-weight:650;color:var(--navy);margin:0 0 16px;letter-spacing:-.014em}
h1 svg,h2 svg{width:1em;height:1em;vertical-align:-.12em;margin-right:2px}
.sub{color:var(--muted);font-size:var(--fs-md);margin:0 0 22px}
.pagehead{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:14px;margin-bottom:6px}
.actions-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* ---------- Panels & cards ---------- */
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:var(--sp-6);margin-bottom:var(--sp-5);box-shadow:var(--shadow);
  animation:fadeUp .5s cubic-bezier(.2,.7,.2,1) backwards}
.panel.warn{border-color:color-mix(in srgb,var(--amber) 45%,transparent);background:var(--amber-soft)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:14px;margin-bottom:22px;
  align-items:stretch}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:var(--sp-4) var(--sp-5);
  box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;
  animation:fadeUp .5s cubic-bezier(.2,.7,.2,1) backwards}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.card .l{font-size:var(--fs-2xs);color:var(--faint);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.card .v{font-size:26px;font-weight:700;margin-top:8px;letter-spacing:-.02em;color:var(--ink);
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.cards .card:nth-child(2){animation-delay:.04s}
.cards .card:nth-child(3){animation-delay:.08s}
.cards .card:nth-child(4){animation-delay:.12s}
.cards .card:nth-child(5){animation-delay:.16s}
.cards .card:nth-child(6){animation-delay:.2s}
/* ΠΡΟΣΟΧΗ: fill-mode «backwards» (ΟΧΙ both/forwards) όπου η κίνηση παίζει σε ΠΡΟΓΟΝΟ
   των .pop/.popbox: γεμάτο (filled) transform animation υπολογίζεται ως matrix(1,0,0,1,0,0)
   (≠ none) => ο πρόγονος γίνεται ΜΟΝΙΜΑ containing block για position:fixed απογόνους
   και τα popups (⋮ μενού) άνοιγαν «ξεκάρφωτα» κάτω-αριστερά. */
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- Forms ---------- */
label{display:block;font-size:var(--fs-sm);color:var(--muted);margin:14px 0 5px;font-weight:500}
input,select,textarea{width:100%;padding:11px 13px;border:1px solid var(--line-2);border-radius:var(--radius-sm);
  font-size:var(--fs-lg);font-family:inherit;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
input:hover,select:hover,textarea:hover{border-color:rgba(20,24,31,.22)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);
  box-shadow:0 0 0 3.5px var(--focus-ring)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--brand);color:#fff;border:none;
  border-radius:var(--radius-sm);padding:10px var(--sp-4);min-height:40px;font-size:var(--fs-md);font-weight:600;cursor:pointer;
  font-family:inherit;letter-spacing:-.01em;box-shadow:0 1px 2px var(--brand-glow-lo),0 6px 16px -8px var(--brand-glow-hi);
  transition:transform .14s,box-shadow .14s,background .14s}
.btn:hover{background:var(--brand-2);transform:translateY(-1px);color:#fff;text-decoration:none;
  box-shadow:0 2px 4px var(--brand-glow-lo),0 10px 22px -8px var(--brand-glow-hi)}
.btn:active{transform:translateY(0) scale(.985)}
.btn svg{width:16px;height:16px;flex:none}
.btn.sec{background:#fff;color:var(--navy);border:1px solid var(--line-2);box-shadow:var(--shadow-sm)}
.btn.sec:hover{background:var(--bg-2);color:var(--navy);box-shadow:var(--shadow-sm)}
.btn.sm{padding:6px var(--sp-3);min-height:32px;font-size:var(--fs-xs);border-radius:9px}
.btn.sm svg{width:14px;height:14px}
.btn.r{background:var(--red)}
.btn.r:hover{background:var(--red-ink)}
.btn.block{display:flex;width:100%}

/* Icon buttons (ενέργειες γραμμής) — ghost, ήρεμα ώσπου hover */
.actions{display:inline-flex;gap:4px;white-space:nowrap}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;
  border:1px solid transparent;background:transparent;border-radius:9px;color:var(--faint);cursor:pointer;
  transition:all .14s}
.iconbtn:hover{background:#fff;color:var(--navy);border-color:var(--line-2);
  box-shadow:var(--shadow-sm);transform:translateY(-1px);text-decoration:none}
.iconbtn:active{transform:translateY(0) scale(.94)}
.iconbtn svg{width:16px;height:16px}
.iconbtn.danger:hover{color:var(--red);border-color:rgba(192,57,43,.35);background:var(--red-soft)}
.iconbtn.accent{color:var(--brand-ink)}
.iconbtn.accent:hover{color:var(--brand);border-color:var(--brand-line);background:var(--brand-soft)}
.iconbtn.eur{font-weight:800;font-size:var(--fs-lg)}
.iconbtn.fee{font-weight:800;font-size:var(--fs-2xs);color:var(--amber)}
.iconbtn.fee:hover{color:var(--amber);border-color:rgba(138,95,20,.35);background:var(--amber-soft)}
.iconbtn.eur-off{font-weight:800;font-size:var(--fs-lg);color:#e5484d;opacity:.45;cursor:default}
.iconbtn.eur-off:hover{background:transparent;border-color:transparent;box-shadow:none;transform:none}
.iconbtn.ghost{visibility:hidden}

/* πρόσβαση με πληκτρολόγιο — ορατό δαχτυλίδι εστίασης παντού */
:is(.btn,.iconbtn,.fbtn,.tagchip,.chip,.csend,.mitem,.tagx,.reqagain,.mlist a,.mrow a):focus-visible{
  outline:none;box-shadow:0 0 0 3px var(--focus-ring)}
nav.top :is(a,.bell,.navtog,.avatar):focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:2px}

/* Dropzone (upload) */
.drop{border:1.5px dashed var(--line-2);border-radius:14px;padding:26px;text-align:center;
  background:var(--bg-2);transition:all .16s;cursor:pointer}
.drop:hover,.drop.hot{border-color:var(--brand);background:var(--brand-soft)}
.drop .ic{color:var(--brand);margin-bottom:8px}
.drop .ic svg{width:30px;height:30px;stroke-width:1.6}
.drop input{display:none}
.drop .hint{font-size:var(--fs-xs);color:var(--muted);margin-top:4px}
.drop .picked{font-size:var(--fs-sm);color:var(--brand-2);font-weight:600;margin-top:8px}
.drop .lnk{color:var(--brand);cursor:pointer;font-weight:600}
.drop .lnk:hover{text-decoration:underline}

/* Ουρά ανεβάσματος (πρόοδος ανά αρχείο) */
.uprow{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;
  margin-bottom:8px;background:#fff;box-shadow:var(--shadow-sm);animation:fadeUp .3s ease backwards}
.uprow .upname{flex:1;min-width:0;font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  display:flex;align-items:center;gap:7px}
.uprow .upname svg{width:14px;height:14px;flex:none;color:var(--faint)}
.uprow .upbar{width:120px;height:7px;border-radius:999px;background:var(--bg-2);overflow:hidden;flex:none}
.uprow .upbar span{display:block;height:100%;width:0;border-radius:999px;
  background:linear-gradient(90deg,var(--brand),var(--brand-hi));transition:width .2s}
.uprow .upbar.good span{background:var(--brand)}
.uprow .upbar.bad span{background:var(--red)}
.uprow .upst{width:82px;text-align:right;font-size:var(--fs-xs);font-weight:600;color:var(--muted);flex:none;white-space:nowrap}
.uprow .upst.ok{color:var(--brand-ink)}
.uprow .upst.dup{color:var(--amber)}
.uprow .upst.err{color:var(--red)}
@media(max-width:620px){.uprow .upbar{width:64px}.uprow .upst{width:64px}}

/* ---------- Tables ---------- */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}
table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
th,td{text-align:left;padding:10px var(--sp-3);border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:var(--fs-2xs);text-transform:uppercase;color:var(--faint);letter-spacing:.07em;font-weight:600;
  white-space:nowrap}
tr:last-child td{border-bottom:none}
tbody tr,table tr{transition:background .12s}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}
td.num{font-weight:600;color:var(--ink)}
.panel table:not(#docs) tbody tr:hover td{background:rgba(20,24,31,.02)}
table.zebra tbody tr:nth-child(even) td{background:var(--bg-3)}
#docs tr[data-kind]:hover td{background:var(--row-hover)}
th.sortable{cursor:pointer;user-select:none;transition:color .14s}
th.sortable:hover{color:var(--muted)}

/* ---------- Badges & pills ---------- */
/* κύριο tag είδους — soft tint + κουκκίδα σε χρώμα σημασίας */
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 8px;border-radius:8px;
  font-size:var(--fs-2xs);font-weight:600;line-height:1.45;letter-spacing:0;white-space:nowrap;
  border:1px solid transparent}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none;opacity:.9}
.b-expense{background:var(--red-soft);color:var(--red-ink);border-color:rgba(192,57,43,.12)}
.b-income{background:var(--brand-soft);color:var(--green-ink);border-color:var(--brand-line-soft)}
.b-bank_payment{background:var(--indigo-soft);color:var(--indigo-ink);border-color:rgba(74,68,184,.13)}
.b-legal_document{background:var(--slate-soft);color:var(--slate-ink);border-color:rgba(70,84,95,.12)}
.b-non_expense_proof{background:var(--amber-soft);color:var(--amber);border-color:rgba(138,95,20,.13)}
.b-unknown{background:#EFF0ED;color:#5a6470;border-color:rgba(90,100,112,.12)}

/* ομάδα tags είδους (badge + τρίτου + κατάσταση) — όμορφο κενό & wrap */
.kindtags{display:inline-flex;flex-wrap:wrap;gap:5px 6px;align-items:center}
.kindtags .st{margin-left:0}

/* δευτερεύοντα tags — ήσυχα, χωρίς γεμάτο χρώμα */
.pill{display:inline-flex;align-items:center;font-size:var(--fs-2xs);padding:2px 9px;border-radius:999px;
  background:var(--bg-2);color:#4a5560;font-weight:500;white-space:nowrap}
.pill.warn{background:transparent;color:var(--amber);border:1px solid rgba(138,95,20,.32);font-weight:600}

/* καταστάσεις παραστατικών — ήσυχα ghost tags */
.st{display:inline-flex;align-items:center;padding:2px 8px;border-radius:7px;font-size:var(--fs-2xs);font-weight:600;
  margin-left:6px;letter-spacing:.01em;vertical-align:middle;border:1px solid transparent}
.st-rejected{background:transparent;color:#6b7280;border-color:rgba(107,114,128,.28)}
.st-duplicate{background:transparent;color:var(--amber);border-color:rgba(138,95,20,.3)}
.st-error{background:var(--red-soft);color:var(--red-ink);border-color:rgba(192,57,43,.2)}
.st-pending{background:transparent;color:var(--indigo-ink);border-color:rgba(74,68,184,.3)}
.st-processing{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand-line-mid)}

/* ---------- Πηγή προέλευσης (myDATA / τράπεζα) ---------- */
.src{display:inline-flex;align-items:center;padding:2px 8px;border-radius:7px;font-size:10px;font-weight:700;
  letter-spacing:.02em;border:1px solid transparent;text-transform:none}
.src-mydata{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand-line-mid)}
.src-bank_feed{background:var(--indigo-soft);color:var(--indigo-ink);border-color:rgba(74,68,184,.22)}
.src-verified{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand-line-mid)}
.src-verified::before{content:"✓";font-weight:800;margin-right:3px}

/* ---------- Info popover (π.χ. προκαταβολή) ---------- */
.pop{position:relative;display:inline-flex}
.pop .iconbtn svg{width:16px;height:16px}
/* position:fixed — οι συντεταγμένες (top/right) μπαίνουν από το togglePop (base.html)
   βάσει του κουμπιού· έτσι δεν το κόβει/μετατοπίζει κανένα overflow container (.tscroll). */
.popbox{position:fixed;z-index:40;min-width:210px;max-width:270px;
  background:#fff;border:1px solid var(--line-2);border-radius:12px;box-shadow:var(--shadow-lg);
  padding:12px 14px;font-size:var(--fs-xs);color:var(--ink);display:none;text-align:left;line-height:1.55}
.popbox.show{display:block;animation:fadeUp .16s ease both}
.popbox a{display:inline-block;margin-top:7px;font-weight:600}
.popbox .amt{font-weight:700;font-variant-numeric:tabular-nums}
.popbox svg{width:14px;height:14px;vertical-align:-2px;color:var(--muted)}

/* ---------- Bars (charts) ---------- */
.bar{height:8px;border-radius:999px;background:var(--bg-2);overflow:hidden;margin-top:5px}
.bar>span{display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,var(--brand),var(--brand-hi))}

.muted{color:var(--muted)}.small{font-size:var(--fs-xs)}

/* ---------- Alerts ---------- */
.alert{padding:12px var(--sp-4);border-radius:var(--radius-sm);margin-bottom:var(--sp-4);font-size:var(--fs-md);
  border:1px solid transparent;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.alert svg{width:16px;height:16px;flex:none}
.alert.err{background:var(--red-soft);color:#8a2820;border-color:rgba(192,57,43,.18)}
.alert.ok{background:var(--brand-soft);color:var(--brand-ink);border-color:var(--brand-line-mid)}
.alert.warn{background:var(--amber-soft);color:var(--amber);border-color:rgba(138,95,20,.25)}

/* ---------- Filters ---------- */
.filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:var(--sp-4)}
.fbtn{border:1px solid var(--line-2);background:#fff;border-radius:999px;padding:6px 14px;font-size:var(--fs-sm);
  cursor:pointer;color:#4a5560;font-family:inherit;font-weight:500;transition:all .14s;white-space:nowrap}
.fbtn:hover{border-color:rgba(20,24,31,.28);background:var(--bg-2)}
.fbtn.on{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;color:#fff;border-radius:20px;padding:34px 32px;margin-bottom:24px;
  background:linear-gradient(135deg,#132532 0%,#0E1B24 60%,color-mix(in srgb,var(--brand) 22%,#0E1B24) 130%);
  box-shadow:var(--shadow-lg);animation:fadeUp .5s cubic-bezier(.2,.7,.2,1) backwards}
.hero::after{content:"";position:absolute;top:-40%;right:-10%;width:460px;height:460px;
  background:radial-gradient(circle,color-mix(in srgb,var(--brand-hi) 28%,transparent),transparent 62%);pointer-events:none}
.hero h1{color:#fff;font-size:var(--fs-3xl);position:relative}
.hero .sub{color:rgba(215,228,224,.82);position:relative;margin-bottom:20px}
.hero .btn.sec{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.16);backdrop-filter:blur(4px)}
.hero .btn.sec:hover{background:rgba(255,255,255,.17);color:#fff}

/* ---------- Misc components ---------- */
.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}
@media(max-width:840px){.grid2{grid-template-columns:1fr}}
/* responsive grid utilities */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.two-col{grid-template-columns:1fr}}
.amt-grid{display:grid;grid-template-columns:1fr 1fr 1fr 80px;gap:10px}
@media(max-width:560px){.amt-grid{grid-template-columns:1fr 1fr}}
/* long unbreakable strings (κωδικοί, tokens, IBAN, URL) */
.brk{overflow-wrap:anywhere;word-break:break-word}
.codebox{font-family:var(--mono);font-size:19px;letter-spacing:.06em;
  background:var(--brand-soft);border:1px solid var(--brand-line-mid);color:var(--brand-2);
  padding:13px 18px;border-radius:12px;display:inline-block;font-weight:600}
.mlist a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;
  border:1px solid var(--line);border-radius:12px;margin-bottom:9px;color:var(--ink);
  background:#fff;transition:border-color .15s,transform .15s,box-shadow .15s}
.mlist a:hover{border-color:var(--brand-line);transform:translateX(2px);text-decoration:none;box-shadow:var(--shadow-sm)}
/* λίστα μηνών με ενέργειες (π.χ. λήψη) */
.mrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;
  border:1px solid var(--line);border-radius:12px;margin-bottom:9px;background:#fff;
  transition:border-color .15s,box-shadow .15s}
.mrow:hover{border-color:var(--brand-line);box-shadow:var(--shadow-sm)}
.mrow .mrow-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.mrow .mrow-main a{font-weight:600;color:var(--ink)}
.mrow .mrow-main a:hover{color:var(--brand)}
.mrow .mrow-act{display:flex;gap:7px;flex-wrap:wrap;align-items:center;flex:none}

/* ---------- Logo ---------- */
.logo{display:inline-flex;align-items:center;gap:11px;text-decoration:none}
.logo:hover{text-decoration:none}
.logo .mk{width:33px;height:33px;border-radius:10px;background:linear-gradient(150deg,var(--brand-hi),var(--brand));
  color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none;
  box-shadow:0 4px 12px -3px var(--brand-glow-hi),inset 0 1px 0 rgba(255,255,255,.25)}
.logo .mk svg{width:19px;height:19px;fill:currentColor}
.logo .wm{font-size:21px;font-weight:700;letter-spacing:-.035em;color:var(--navy);white-space:nowrap}
.logo .wm b{color:var(--brand);font-weight:700}
.wmimg{height:24px;width:auto;display:block}   /* wordmark εικόνα στο nav (αντικαθιστά το text mark) */
.logo.big{flex-direction:column;gap:15px}
.logo.big .mk{width:60px;height:60px;border-radius:17px}
.logo.big .mk svg{width:34px;height:34px}
.logo.big .wm{font-size:36px}
/* auth pages (login): composited icon + easylog wordmark image */
.logo.big img.authmk{width:64px;height:64px;border-radius:18px;display:block}
.logo.big img.authwm{height:33px;width:auto;display:block}
nav.top .logo{margin-right:10px;flex:none}
nav.top .logo .wm{color:#fff}
nav.top .logo .wm b{color:var(--brand-nav)}
nav.top .logo .mk{box-shadow:0 3px 10px -2px var(--brand-glow-hi)}

/* ---------- Empty states ---------- */
.empty{text-align:center;padding:40px 20px;color:var(--muted);animation:fadeUp .5s cubic-bezier(.2,.7,.2,1) backwards}
.empty .ic{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:var(--bg-2);
  display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:26px;line-height:1}
.empty .ic svg{width:28px;height:28px;stroke-width:1.5}
.empty h3{font-size:var(--fs-lg);color:var(--navy);margin:0 0 6px;font-weight:600}
.empty p{font-size:var(--fs-sm);margin:0 auto 16px;max-width:340px}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* --- tablet: μενού γίνεται drawer κάτω από ~900px --- */
@media(max-width:900px){
  nav.top{padding:0 14px}
  nav.top .bell{order:2;margin-left:auto}
  nav.top .usermenu{order:3;margin-left:2px}
  nav.top .navtog{display:inline-flex;order:4;margin-left:2px}
  nav.top .navlinks{order:5;display:none;flex-basis:100%;flex-direction:column;align-items:stretch;
    gap:2px;padding:6px 0 12px}
  nav.top:has(#navtog:checked) .navlinks{display:flex;animation:fadeUp .28s ease backwards}
  nav.top .navlinks a{padding:11px 14px;border-radius:10px;font-size:var(--fs-lg)}
  /* fallback αν δεν υποστηρίζεται :has() — checkbox visible ώστε να λειτουργεί */
}
/* progressive enhancement: αν το :has δεν δουλεύει, κράτα το μενού ορατό */
@supports not selector(:has(*)){
  @media(max-width:900px){ nav.top .navlinks{display:flex} nav.top .navtog{display:none} }
}

/* --- phone --- */
@media(max-width:620px){
  .wrap{padding:20px 14px 52px}
  h1{font-size:var(--fs-2xl)}
  .hero{padding:26px 22px}
  .hero h1{font-size:24px}
  .panel{padding:18px var(--sp-4);border-radius:14px}
  .cards{grid-template-columns:repeat(2,1fr);gap:11px}
  .card .v{font-size:23px}
  .pagehead{gap:10px}
  .grid2{gap:14px}
  .btn{padding:10px var(--sp-4)}

  /* κάθε άλλος πίνακας -> οριζόντιο scroll ασφαλείας */
  .panel table:not(#docs):not(#reminders){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}

  /* κύριος πίνακας παραστατικών -> κάρτες */
  table#docs tr:first-child{display:none}                 /* κρύψε κεφαλίδα */
  table#docs,table#docs tbody{display:block}
  table#docs tr[data-kind]{display:block;border:1px solid var(--line);border-radius:13px;
    padding:13px 15px;margin-bottom:11px;box-shadow:var(--shadow-sm);background:#fff}
  table#docs tr[data-kind]:hover td{background:transparent}
  table#docs tr[data-kind] td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
    border:none;padding:5px 0;text-align:right;min-width:0;overflow-wrap:break-word}
  table#docs tr[data-kind] td::before{content:attr(data-label);font-weight:600;color:var(--faint);
    font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em;text-align:left;flex:none;padding-top:3px}
  /* κελιά με πολύ κείμενο -> ετικέτα πάνω, τιμή από κάτω (αριστερή στοίχιση) */
  table#docs tr[data-kind] td[data-label="Αντισυμβαλλόμενος"],
  table#docs tr[data-kind] td[data-label="Περιγραφή"]{flex-direction:column;align-items:stretch;
    text-align:left;gap:3px}
  table#docs tr[data-kind] td[data-label="Αντισυμβαλλόμενος"]::before,
  table#docs tr[data-kind] td[data-label="Περιγραφή"]::before{padding-top:0}
  table#docs tr[data-kind] td[data-label="Αντισυμβαλλόμενος"] .small.muted,
  table#docs tr[data-kind] td[data-label="Περιγραφή"]{text-align:left}
  table#docs tr[data-kind] td.num{font-size:var(--fs-lg)}
  table#docs tr[data-kind] td.cell-actions{justify-content:flex-end;flex-wrap:wrap;gap:4px;
    margin-top:9px;padding-top:11px;border-top:1px solid var(--line)}
  table#docs tr[data-kind] td.cell-actions::before{display:none}
  table#docs tr[data-kind] td .small.muted{text-align:right}
  table#docs tr[data-kind] td .kindtags{margin-left:auto;justify-content:flex-end}

  /* πίνακας υπενθυμίσεων -> κάρτες */
  table#reminders thead{display:none}
  table#reminders,table#reminders tbody,table#reminders tr,table#reminders td{display:block}
  table#reminders tr{border:1px solid var(--line);border-radius:13px;padding:13px 15px;margin-bottom:11px;
    box-shadow:var(--shadow-sm);background:#fff}
  table#reminders td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border:none;
    padding:5px 0;text-align:right;min-width:0;overflow-wrap:break-word}
  table#reminders td::before{content:attr(data-label);font-weight:600;color:var(--faint);font-size:var(--fs-2xs);
    text-transform:uppercase;letter-spacing:.06em;text-align:left;flex:none;padding-top:2px}
  table#reminders td[data-label="Τίτλος"]{flex-direction:column;align-items:stretch;text-align:left;gap:3px}
  table#reminders td[data-label="Τίτλος"]::before{padding-top:0}
  table#reminders td.rm-actions{justify-content:flex-end;padding-top:10px;margin-top:6px;border-top:1px solid var(--line)}
  table#reminders td.rm-actions::before{display:none}

  .mrow{flex-wrap:wrap}
  .mrow .mrow-act{width:100%;margin-top:4px}
  .mrow .mrow-act .btn{flex:1}
}

/* edit page preview: μη sticky όταν το μενού είναι drawer (κάτω από 900px) */
@media(max-width:900px){
  .editprev{position:static!important;max-height:none!important;top:auto!important}
}

/* ============================================================
   Dashboard v2 — στοιχεία παραστατικού, σχόλια, ετικέτες, μενού ⋮
   (scoped προσθήκες — δεν αγγίζουν τα παραπάνω)
   ============================================================ */
/* copy-chips: bank-role chips (πίνακας) + wizard copy chips */
.docmeta{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:7px;
  border:1px solid var(--line-2);background:var(--bg-3);color:#4a5560;font-size:var(--fs-2xs);
  font-family:inherit;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .14s}
.chip:hover{border-color:var(--brand-line);background:var(--brand-soft);color:var(--brand-ink)}
.chip .cico{font-size:10px;opacity:.55;line-height:1;display:inline-flex;align-items:center}
.chip .cico svg{width:11px;height:11px}
.chip:hover .cico{opacity:.9}

/* κίτρινο tint ΜΟΝΟ σε αδιάβαστα σχόλια από την ΑΛΛΗ πλευρά (όχι απλώς σχολιασμένα) */
#docs tr.c-unread td,#shared-table tr.c-unread td{background:#FFF9E3}
#docs tr.c-unread:hover td,#shared-table tr.c-unread:hover td{background:#FBF2D2}

/* στοιχείο σχολίου (always-open .clist2 στη στήλη σχολίων) */
.citem .chead{font-size:var(--fs-2xs);color:var(--muted);margin-bottom:1px}
.citem .chead b{color:var(--navy);font-size:var(--fs-xs)}
.citem .cbody{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg-3);
  border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-size:var(--fs-xs);line-height:1.5}
/* μενού ⋮ ανά γραμμή */
.popbox.menupop{min-width:185px;padding:8px}
.mitem{display:flex;align-items:center;gap:7px;width:100%;padding:8px 10px;border:none;background:none;
  border-radius:8px;font:inherit;font-size:var(--fs-sm);color:var(--ink);cursor:pointer;text-align:left;
  transition:background .13s,color .13s}
.mitem:hover{background:var(--brand-soft);color:var(--brand-2)}
.mitem .cico{margin-left:auto;font-size:10px;opacity:.55;display:inline-flex;align-items:center}
.mitem .cico svg{width:12px;height:12px}
.mitem .mon{color:var(--brand);font-weight:700}
.mlab{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:var(--faint);
  padding:8px 10px 3px;border-top:1px solid var(--line);margin-top:5px}
.mtagform{margin:0}
.menupop>.mitem:first-child+.mlab,.menupop>.mlab:first-child{border-top:none;margin-top:0}
/* «Εισαγωγή από προκαταβολή» (⋮): picker + πεδίο «# προκαταβολής» */
.advsel{display:flex;gap:6px;align-items:center;padding:4px 10px 2px;margin:0}
.advsel select,.advsel input{flex:1;min-width:0;font-size:var(--fs-xs);padding:6px 9px;border-radius:8px}
.advsel .btn.sm{flex:none}

/* ετικέτες-φίλτρα κάτω από τα φίλτρα είδους */
.tagbar{display:flex;flex-direction:column;gap:7px;margin:-6px 0 16px}
.tagsec{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.tagsec-l{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--faint);min-width:56px}
.tagchip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line-2);background:#fff;
  border-radius:999px;padding:4px 12px;font-size:var(--fs-xs);color:#4a5560;font-family:inherit;font-weight:500;
  cursor:pointer;white-space:nowrap;transition:all .14s}
.tagchip:hover{border-color:var(--brand-line);background:var(--brand-soft);color:var(--brand-ink)}
.tagchip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.tagchip .tcount{font-size:var(--fs-2xs);opacity:.6;font-weight:600}
.tagchip.add{border-style:dashed;color:var(--muted)}
.tagform{display:flex;gap:6px;align-items:center}
.tagform input[name=name]{width:170px;padding:6px 11px;font-size:var(--fs-sm);border-radius:9px}

/* mobile: το κελί «Στοιχεία» σαν στήλη + σωστή σειρά για σχόλια/μενού στην κάρτα */
@media(max-width:620px){
  table#docs tr[data-kind] td[data-label="Στοιχεία"]{flex-direction:column;align-items:stretch;
    text-align:left;gap:3px}
  table#docs tr[data-kind] td[data-label="Στοιχεία"]::before{padding-top:0}
  table#docs tr[data-kind] td[data-label="Στοιχεία"] .docmeta{justify-content:flex-start}
  table#docs tr[data-kind] td.cell-menu{justify-content:flex-end;padding:5px 0 0}
  table#docs tr[data-kind] td.cell-menu::before{display:none}
  .tagsec-l{min-width:100%}
}

/* ============================================================
   Dashboard v4 — inline σχόλια, προκαταβολές, αίτηση τιμολογίου
   (scoped προσθήκες — μόνο append, δεν αγγίζουν τα παραπάνω)
   ============================================================ */
/* Σχόλια: box μέσα στη στήλη — η φόρμα εμφανίζεται σε hover/focus για ήρεμο πίνακα */
.cell-comments{min-width:210px;max-width:280px}
.cbox{display:flex;flex-direction:column;gap:6px}
.clist2{display:flex;flex-direction:column;gap:8px;max-height:150px;overflow-y:auto;padding-right:2px}
.cform2{display:flex;gap:5px;align-items:center}
.cform2 input{flex:1;min-width:100px;font-size:var(--fs-xs);padding:6px 10px;border-radius:8px}
@media(min-width:621px){
  #docs tr[data-kind]:not(.has-comments):not(:hover):not(:focus-within) .cform2,
  #shared-table tr[data-kind]:not(.has-comments):not(:hover):not(:focus-within) .cform2{display:none}
  #docs tr[data-kind]:not(.has-comments):not(:hover):not(:focus-within) .cell-comments,
  #shared-table tr[data-kind]:not(.has-comments):not(:hover):not(:focus-within) .cell-comments{min-width:0}
}
.csend{flex:none;width:30px;height:30px;border:1px solid var(--line-2);background:#fff;border-radius:8px;
  color:var(--brand);font-size:var(--fs-sm);cursor:pointer;display:inline-flex;align-items:center;
  justify-content:center;transition:all .14s}
.csend svg{width:14px;height:14px}
.csend:hover{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-2)}

/* Αχαρακτήριστη τραπεζική κίνηση: inline chips χαρακτηρισμού + απαλό κίτρινο αριστερό border */
#docs tr.unchar td:first-child{border-left:3px solid rgba(224,161,0,.55)}
.bankchips{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}
.bankchips form{margin:0;display:inline-flex}

/* Αποδεικτικά προκαταβολής/εξόφλησης (link) στη στήλη Αρχείο */
.iconbtn.advlink{font-size:var(--fs-xs);color:var(--brand-ink)}
.iconbtn.advlink svg{width:14px;height:14px}
.iconbtn.advlink:hover{color:var(--brand);border-color:var(--brand-line);background:var(--brand-soft)}
.iconbtn.advlink.settlement{color:var(--indigo-ink)}
.iconbtn.advlink.settlement:hover{color:var(--indigo);border-color:rgba(74,68,184,.35);background:var(--indigo-soft)}

/* Πίνακας προκαταβολών (collapsible) */
details.advpanel summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:9px;user-select:none}
details.advpanel summary::-webkit-details-marker{display:none}
details.advpanel summary::before{content:"▸";color:var(--muted);font-size:var(--fs-sm);transition:transform .15s}
details.advpanel[open] summary::before{transform:rotate(90deg)}
details.advpanel summary h2{margin:0}
details.advpanel[open] summary{margin-bottom:14px}

/* Διαγραφή ετικέτας (× δίπλα στο chip) */
.tagwrap{display:inline-flex;align-items:center}
.tagxf{margin:0;display:inline-flex}
.tagx{border:none;background:none;color:var(--faint);cursor:pointer;font-size:var(--fs-md);line-height:1;
  padding:2px 5px;border-radius:6px;font-family:inherit;transition:all .13s}
.tagx:hover{color:var(--red);background:var(--red-soft)}

/* «Εισαγωγή από προκαταβολή» — inline επιλογή μέσα στο μενού ⋮ */
.advsel{display:flex;gap:6px;align-items:center;padding:7px 10px;margin:0}
.advsel select{font-size:var(--fs-xs);padding:6px 8px;border-radius:8px;max-width:220px}

/* «Λείπουν παραστατικά»: αίτηση τιμολογίου */
.reqcell{white-space:nowrap}
.reqagain{border:none;background:none;color:var(--brand);cursor:pointer;font:inherit;font-size:var(--fs-xs);
  font-weight:600;padding:2px 5px;border-radius:6px;margin-left:4px}
.reqagain:hover{background:var(--brand-soft);color:var(--brand-2)}

/* mobile: το κελί «Σχόλια» σαν στήλη + inline chips αριστερά */
@media(max-width:620px){
  .cell-comments{min-width:0;max-width:none}
  table#docs tr[data-kind] td[data-label="Σχόλια"]{flex-direction:column;align-items:stretch;
    text-align:left;gap:5px}
  table#docs tr[data-kind] td[data-label="Σχόλια"]::before{padding-top:0}
  table#docs tr[data-kind] td[data-label="Αρχείο"]{justify-content:flex-end;flex-wrap:wrap;gap:4px}
  table#docs tr[data-kind] td[data-label="Αρχείο"]::before{display:none}
  table#docs tr[data-kind] .bankchips{justify-content:flex-start}
  #docs tr.unchar{border-left:3px solid rgba(224,161,0,.55)}
  #docs tr.unchar td:first-child{border-left:none}
  .reqcell{white-space:normal}
}

/* Πρόταση «Ένωσης» tier-1 (πιθανό ίδιο παραστατικό myDATA↔upload) */
.suggestbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;
  padding:5px 9px;border:1px solid rgba(224,161,0,.45);background:#fff9ec;border-radius:8px;
  font-size:var(--fs-xs);color:#8a6400}
.suggestbar form{margin:0;display:inline-flex}
.suggesthint{color:#a97b00;margin-top:4px}

/* Λόγος σφάλματος επεξεργασίας κάτω από το badge (files.html) */
.docerr{color:var(--red-ink);font-size:var(--fs-xs);margin-top:3px;max-width:340px}
/* Ανενεργό «κουμπί»-link (π.χ. Λήψη μήνα χωρίς αρχεία PDF) */
.btn.disabled{opacity:.55;pointer-events:none;cursor:not-allowed}

/* ============================================================
   Dashboard v5 — (i) tooltip κάρτας + preview wizard modal (👁)
   (scoped προσθήκες — μόνο append, δεν αγγίζουν τα παραπάνω)
   ============================================================ */
/* (i) δίπλα στο ποσό της κάρτας — το κείμενο πάει σε popover (ίδιο fixed idiom) */
.card.flat:hover{transform:none}   /* transform σε πρόγονο = containing block για fixed tooltip */
.infobtn{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;
  padding:2px;margin-left:7px;color:var(--faint);cursor:pointer;border-radius:7px;vertical-align:2px;
  transition:color .14s,background .14s}
.infobtn:hover{color:var(--brand);background:var(--brand-soft)}
.infobtn svg{width:15px;height:15px;display:block}
.popbox.tipbox{font-weight:400;max-width:260px;color:var(--muted)}

/* Preview wizard modal */
.wizmodal{position:fixed;inset:0;z-index:70}
.wizmodal[hidden]{display:none}
.wizoverlay{position:absolute;inset:0;background:rgba(9,20,28,.55);backdrop-filter:blur(2px)}
.wizbox{position:relative;margin:4vh auto;width:min(980px,94vw);height:88vh;background:var(--card);
  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);
  display:flex;flex-direction:column;overflow:hidden;
  animation:fadeUp .22s cubic-bezier(.2,.7,.2,1) backwards}
.wizhead{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 14px;border-bottom:1px solid var(--line);flex:none;background:var(--bg-3)}
.wiztabs{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.wiztab{border:1px solid var(--line-2);background:#fff;border-radius:999px;padding:5px 13px;
  font-size:var(--fs-xs);color:#4a5560;font-family:inherit;font-weight:600;cursor:pointer;
  white-space:nowrap;transition:all .14s}
.wiztab:hover{border-color:var(--brand-line);background:var(--brand-soft);color:var(--brand-ink)}
.wiztab.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.wiznav{display:flex;gap:4px;flex:none;align-items:center}
.wiznav .iconbtn:disabled{opacity:.35;cursor:default;transform:none;background:transparent;
  border-color:transparent;box-shadow:none}
.wizview{flex:1;min-height:0;position:relative;display:flex;background:var(--bg-2)}
.wizpdf{width:100%;height:100%;border:none;flex:1}
.wizcanvas{flex:1;min-width:0;overflow:hidden;display:flex;align-items:center;justify-content:center;
  padding:14px}
.wizcanvas.zoomed{cursor:grab}
.wizcanvas.grabbing{cursor:grabbing}
.wizimg{max-width:100%;max-height:100%;user-select:none;-webkit-user-drag:none;
  transition:transform .08s;transform-origin:center center;border-radius:6px;
  box-shadow:var(--shadow-sm)}
.wizcanvas.grabbing .wizimg{transition:none}
.wizzoom{position:absolute;top:10px;right:10px;display:flex;gap:2px;align-items:center;
  background:#fff;border:1px solid var(--line-2);border-radius:10px;padding:3px;
  box-shadow:var(--shadow-sm);z-index:2}
.wizzoom .iconbtn{width:28px;height:28px;font-weight:700;font-size:var(--fs-md)}
.wizzoom .iconbtn.wizfit{width:auto;padding:0 9px;font-size:var(--fs-xs);font-weight:600}
.wizpct{min-width:42px;text-align:center;font-size:var(--fs-xs);color:var(--muted);
  font-variant-numeric:tabular-nums}
.wizempty{margin:auto;text-align:center;color:var(--muted);font-size:var(--fs-md);padding:20px}
.wizempty .ic{width:58px;height:58px;margin:0 auto 12px;border-radius:50%;background:var(--bg-3);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:24px}
.wizbar{flex:none;display:flex;gap:7px;flex-wrap:wrap;padding:12px 14px;
  border-top:1px solid var(--line);background:var(--bg-3)}
.wizchip{font-size:var(--fs-xs);padding:6px 11px;gap:6px}
.wizchip .wlab{color:var(--faint);font-weight:600;font-size:var(--fs-2xs);text-transform:uppercase;
  letter-spacing:.04em}
.wizchip b{font-weight:700;font-variant-numeric:tabular-nums}
@media(max-width:620px){
  .wizbox{width:100vw;height:100dvh;margin:0;border-radius:0}
  .wizhead{flex-wrap:wrap}
  /* tabs σε ΜΙΑ οριζόντια scrollable γραμμή (όχι πολύγραμμο wrap που στενεύει το wizview) */
  .wiztabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .wiztab{flex:none;white-space:nowrap}
  .wizbar{max-height:28vh;overflow-y:auto}
}

/* ============================================================
   ΚΛΗΣΗ FEATURE — two-step slot picker + sticky σύνοψη κράτησης
   ============================================================ */
.callquota{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.pill.ok{background:var(--brand-soft);color:var(--brand-ink);font-weight:600}
.wsteph{display:flex;gap:8px;align-items:center;margin:16px 0 8px;font-weight:600}
.wsteph:first-child{margin-top:4px}
.stepnum{flex:none;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-2xs);font-weight:700}
/* λωρίδα ημερών: οριζόντιο scroll + snap — 1 tap ημέρα, 1 tap ώρα */
.daystrip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch}
.daypick{flex:none;scroll-snap-align:start;display:inline-flex;align-items:center;cursor:pointer;
  border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-weight:600;
  font-size:var(--fs-sm);user-select:none;background:var(--card)}
.daypick input{position:absolute;opacity:0;width:0;height:0}
.daypick:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}
.daypick:focus-within{outline:2px solid var(--brand);outline-offset:2px}
.daypick .dcount{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;
  margin-left:7px;padding:0 5px;border-radius:999px;background:var(--bg-2);color:var(--muted);
  font-size:var(--fs-2xs);font-weight:700}
.daypick:has(input:checked) .dcount{background:var(--brand);color:#fff}
.timegrid{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.slotpick{display:inline-flex;align-items:center;cursor:pointer;border:1px solid var(--line);
  border-radius:10px;padding:8px 14px;font-weight:600;font-size:14px;user-select:none;background:var(--card)}
.slotpick input{position:absolute;opacity:0;width:0;height:0}
.slotpick:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}
.slotpick:focus-within{outline:2px solid var(--brand);outline-offset:2px}
/* σύνοψη επιλογής + CTA — sticky στο κάτω μέρος σε κινητό */
.booksum{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  margin-top:14px;padding:12px 0 2px;border-top:1px solid var(--line);
  position:sticky;bottom:0;background:var(--card)}
.booksum .bsum{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}
.booksum .btn:disabled{opacity:.55;cursor:not-allowed}
/* ενέργειες ενεργής κλήσης: Είσοδος/ημερολόγιο ως κουμπιά, Ακύρωση ως link δεξιά */
.callact{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.callact .callcancel{margin-left:auto}
.linkbtn{background:none;border:none;padding:6px 4px;color:var(--muted);cursor:pointer;
  font-size:var(--fs-sm);text-decoration:underline;text-underline-offset:3px}
.linkbtn:hover{color:var(--red)}
/* inline εικονίδιο σε ροή κειμένου (labels/pills) — μικρό, ευθυγραμμισμένο */
.ic-t{display:inline-flex;vertical-align:-2px}
.ic-t svg{width:14px;height:14px}

/* ============================================================
   PRINT — καθαρή εκτύπωση πινάκων/παραστατικών
   ============================================================ */
@media print{
  nav.top,footer,.filters,.tagbar,.actions,.cell-menu,.cell-comments,.csearch,.crumbs,.btn,.iconbtn{display:none!important}
  body{background:#fff;background-image:none;color:#000}
  .panel,.card{box-shadow:none;border-color:#ddd;animation:none}
  .hero{background:#fff;color:#000;box-shadow:none;border:1px solid #ddd}
  .hero h1{color:#000}
  a{color:inherit;text-decoration:none}
}
