/* i-mall brand theme (brand manual 11.01.2022): lime #C4D600, charcoal #262729, white #FFFFFF.
   Contrast (WCAG): #262729 on #C4D600 = 9.2:1, white on #262729 = 15:1, white on lime = 1.6:1 (never used),
   olive #5E6600 on white = 6.2:1 for lime-ish text on light backgrounds. */
:root { --lime: #C4D600; --lime-d: #AFBF00; --ink: #262729; --bg: #F5F6F0; --line: #E3E5DA; --im-olive: #5E6600; --im-lime-soft: #F4F8D6; }
body { color: #262729; }
a { color: var(--im-olive); }
nav.side { background: #262729; }
nav.side a { color: #E8E9E4; }
nav.side a.on, nav.side a.on:hover { background: var(--lime); color: #262729; font-weight: 800; }
nav.side a.on .ni { color: #262729; }
.btn, .btn:visited { background: var(--lime); color: #262729; }
.btn:hover { background: var(--lime-d); color: #262729; }
.btn.sec { background: #fff; color: #262729; border: 1px solid #D5D8CC; }
.btn.sec:hover { background: var(--im-lime-soft); }
.btn.sm.on { background: var(--lime); color: #262729; border-color: var(--lime); }
.kpi { border-top-color: var(--lime); }
.mbar i, .bar div { background: var(--lime); }
.mbar.low i { background: #E0A000; }
.im-bars b, .im-bars30 b { background: var(--lime); }
.im-bars30 div.we b { background: #9DAB00; }
.im-mopt.on { border-color: var(--lime); background: var(--im-lime-soft); }
.pill.ok { background: var(--im-lime-soft); color: #4A5000; }
.asst-fab { background: #262729; color: #fff; box-shadow: 0 8px 24px rgba(38,39,41,.35); }
.asst-fab .asst-fab-ic { color: var(--lime); }
.asst-head { background: #262729; color: #fff; }
.asst-msg.user { background: var(--lime); color: #262729; }
.asst-form .btn { background: var(--lime); color: #262729; }
.asst-chip { border-color: #D5D8CC; color: #262729; }
.asst-chip:hover { background: var(--im-lime-soft); }
.demo-note, .flash { color: #262729; }
.save-pop{position:fixed;z-index:80;left:50%;top:24px;transform:translateX(-50%);background:#262729;color:#fff;border-radius:12px;padding:14px 20px;font-weight:700;font-size:16px;line-height:1.35;box-shadow:0 10px 28px rgba(38,39,41,.28);max-width:min(440px,calc(100% - 24px));margin:0}
.save-pop.err{background:#B42318}
a.btn.pf-back{font-size:18px;font-weight:800;padding:12px 22px;display:inline-block}
.im-fc { border-top-color: #262729; }
.im-split i:first-child { background: var(--lime) !important; }
b.st-online { color: #4A5000; }
.sdot.s-online { background: #8FA000; box-shadow: 0 0 0 3px var(--im-lime-soft); }
.side-head { padding: 4px 6px 14px; }
.im-logo-img { display: block; height: 52px; width: auto; }
.login-body { background: #262729; }
.im-login-logo { display: block; margin: 0 auto 18px; max-width: 220px; height: auto; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--lime); outline-offset: 1px; }
/* Logo ratio fix (08/10/2026): admin.css "nav.side img" / ".side-head img" forced width:170px while .im-logo-img set height:52px,
   so the 2.05:1 logo was drawn at 3.27:1 (stretched). Only the width is fixed now; height follows the image (object-fit: contain). */
nav.side .side-head img.im-logo-img { width: 150px; max-width: calc(100% - 16px); height: auto; max-height: none; object-fit: contain; }
.login-body img.im-login-logo { width: 220px; max-width: 100%; height: auto; object-fit: contain; }
/* Hierarchical side menu (08/10/2026): parent link + chevron toggle, indented submenu, 44px touch targets on mobile. */
nav.side .nav-grp2 { display: flex; flex-direction: column; gap: 2px; }
nav.side .nav-row { display: flex; align-items: stretch; gap: 2px; }
nav.side .nav-row > a.leaf { flex: 1 1 auto; min-width: 0; }
nav.side .nav-tog { flex: none; width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; background: transparent; border: 0; border-radius: 10px; color: #C9CBC2; cursor: pointer; padding: 0; }
nav.side .nav-tog:hover { background: #3d3d3d; }
nav.side .nav-tog:focus-visible, nav.side a.leaf:focus-visible { outline: 2px solid var(--lime); outline-offset: -2px; }
nav.side .nav-row > .nav-tog { flex: 1 1 auto; width: 100%; min-width: 0; justify-content: flex-start; gap: 10px; padding: 10px 12px; color: #eee; font: inherit; font-weight: 700; text-align: left; }
nav.side .nav-row > .nav-tog .nl { flex: 1 1 auto; min-width: 0; }
nav.side .nav-row > .nav-tog .nav-badge-p { margin-left: 0; }
nav.side .nav-grp2.open > .nav-row > .nav-tog { color: var(--lime); }
nav.side .nav-tog .chev { margin: 0; border-color: #C9CBC2; transform: rotate(45deg) translate(-2px, -2px); }
nav.side .nav-tog[aria-expanded="true"] .chev { transform: rotate(-135deg) translate(-2px, -2px); border-color: var(--lime); }
nav.side .nav-sub { display: flex; flex-direction: column; gap: 2px; margin: 0 0 4px 22px; padding-left: 0; border-left: 2px solid #44464A; }
nav.side .nav-sub[hidden] { display: none; }
nav.side .nav-sub > a.leaf.sub { padding: 8px 12px; border-radius: 0 10px 10px 0; font-size: 14px; font-weight: 600; min-height: 38px; }
nav.side .nav-sub > a.leaf.sub.on { box-shadow: inset 3px 0 0 #262729; }
nav.side .nav-badge-p { margin-left: auto; background: var(--lime); color: #262729; border-radius: 10px; padding: 0 7px; font-size: 12px; font-weight: 800; line-height: 18px; }
nav.side .nav-grp2.open .nav-badge-p { display: none; }
@media (max-width: 900px) {
  nav.side a.leaf, nav.side .nav-sub > a.leaf.sub { min-height: 44px; }
  nav.side .nav-tog { width: 44px; min-height: 44px; }
}

/* notstarted.py: neutral badge «Δεν έχει ξεκινήσει λειτουργία» (08/10/2026) */
.pill.nst { background: #eceef1; color: #4a5260; border: 1px solid #d9dde3; font-weight: 600; }
.nst-note { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px 14px; }
.nst-await { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; padding: 10px 14px; }
button.nst-sw { width: 44px; height: 26px; border-radius: 999px; border: 1px solid #C9CCC2; background: #E6E8DD; position: relative; flex: none; padding: 0; margin: 0; cursor: pointer; box-sizing: border-box; appearance: none; -webkit-appearance: none; line-height: 0; }
button.nst-sw::after { content: ''; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); }
button.nst-sw.on { background: #C4D600; border-color: #C4D600; }
button.nst-sw.on::after { left: 20px; }
button.nst-sw:focus-visible { outline: 2px solid #262729; outline-offset: 2px; }
.pill.nst-fault { background: #fff4d6; color: #8a5a00; border: 1px solid #f1d38a; font-weight: 600; white-space: normal; }
.nst-await select, .nst-await input[name=note] { min-height: 36px; max-width: 100%; }
.nst-await input[name=note] { flex: 1 1 220px; }
.nst-info { flex-basis: 100%; }
.remote-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 4px; }
.remote-actions .btn { min-height: 44px; }
.remote-rows-toggle { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 4px; padding: 0 2px; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.remote-rows-toggle[hidden] { display: none; }
.remote-chev { display: inline-block; transition: transform .15s ease; }
.remote-rows-toggle[aria-expanded="true"] .remote-chev { transform: rotate(180deg); }
/* nocool.py: «Χωρίς ψύξη» (08/10/2026) */
.pill.nocool, .tchip.nocool { background: #eceef1; color: #4a5260; border: 1px solid #d9dde3; font-weight: 600; }
.nc-unit { display: inline-flex; gap: 8px; align-items: center; margin-right: 14px; }
/* Phone / mobile app (WebView): the top-bar store/customer selector gets its own full-width row instead of being cut off. */
@media (max-width: 700px) {
  .userbar:has(.acct-switch) { flex-wrap: wrap; }
  .userbar .ub-mid:has(.acct-switch) { order: 10; flex: 1 1 100%; overflow: visible; }
  .userbar .acct-switch { flex: 1 1 auto; min-width: 0; }
  .userbar .acct-switch select { width: 100%; max-width: 100%; font-size: 15px; min-height: 40px; }
}
/* AI assistant: the store selector takes the width, the horizon stays compact (phones included). */
.asst-qa-opts #asst-s { flex: 1 1 auto; }
.asst-qa-opts #asst-d { flex: 0 0 auto; width: auto; }
/* «Πλανόγραμμα» drawing (plano_view.py): vending machine in HTML/CSS (ink body, lime accents only), glass door, shelves top to bottom
   (shelf 1 = bottom), one place per motor, merged motors span two. Master and satellites side by side; the row scrolls sideways on phones. */
.pmock { display: flex; flex-direction: column; gap: 8px; }
.pm-title { margin: 4px 0 0; font-size: 14px; color: #262729; }
.pm-units { display: flex; gap: 14px; align-items: flex-end; overflow-x: auto; padding: 2px 2px 10px; -webkit-overflow-scrolling: touch; }
.pm-unit { flex: 0 0 auto; }
.pm-head { font-size: 13px; margin: 0 0 6px; color: #262729; }
.pm-cab { background: linear-gradient(90deg, #1b1c1e, #2f3033 10%, #262729 90%, #1a1b1d); border-radius: 16px 16px 8px 8px; padding: 0 10px; box-shadow: 0 8px 20px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08); }
.pm-cab.pm-master { background: linear-gradient(180deg, #3a3d42 0%, #2b2d31 48%, #1f2124 100%); box-shadow: 0 8px 20px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.08); }
.pm-top { display: flex; align-items: center; gap: 8px; padding: 9px 6px 8px; border-bottom: 3px solid #C4D600; }
.pm-brand { color: #C4D600; font-weight: 900; font-size: 17px; letter-spacing: .5px; }
.pm-tag { color: #fff; opacity: .7; font-size: 10px; font-weight: 700; letter-spacing: 2.5px; }
.pm-sat .pm-tag { opacity: .5; }
.pm-led { margin-left: auto; width: 8px; height: 8px; border-radius: 50%; background: #C4D600; box-shadow: 0 0 8px #C4D600; }
.pm-fascia { flex: 0 0 158px; display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 14px 12px 18px; background: linear-gradient(180deg, #3e4146, #2b2d31 55%, #24262a); border-radius: 4px 10px 10px 4px; box-shadow: inset 1px 0 0 rgba(255,255,255,.06); }
.pm-fascia-brand { color: #C4D600; font-weight: 900; font-size: 13px; letter-spacing: .8px; }
.pm-screen { width: 100%; aspect-ratio: 9 / 16; flex: 1 1 auto; min-height: 210px; max-height: 340px; box-sizing: border-box; border: 11px solid #111214; border-radius: 16px; background: #050505; box-shadow: 0 8px 18px rgba(0,0,0,.35), inset 0 0 0 1px #333; overflow: hidden; }
.pm-lcd { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: #262729 url("brand/imall-floor.png") center / cover no-repeat; position: relative; }
.pm-lcd::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(125deg, rgba(255,255,255,.32) 0%, rgba(255,255,255,0) 22%, rgba(255,255,255,0) 72%, rgba(255,255,255,.1) 100%); }
.pm-os-logo { width: 78%; height: auto; max-height: 38%; object-fit: contain; position: relative; z-index: 1; filter: drop-shadow(0 2px 10px rgba(0,0,0,.55)); }
.pm-nfc { width: 26px; height: 26px; border-radius: 50%; box-shadow: 0 0 0 2px #6b6e74, 0 0 0 6px #2b2d31, 0 0 0 8px #8a8d93; background: radial-gradient(circle at 50% 50%, #C4D600 0 22%, transparent 24%); }
.pm-body { display: flex; gap: 8px; padding: 10px 0 8px; align-items: stretch; }
.pm-col { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pm-master .pm-bin { margin: 8px 4px 0; }
.pm-door { position: relative; flex: 1; border: 5px solid #2a2b2e; border-radius: 10px; background: #2a2b2e; box-shadow: inset 0 0 0 1px #4a4b4f; }
.pm-light { height: 5px; margin: 0 4px; border-radius: 0 0 6px 6px; background: linear-gradient(90deg, transparent, #f7ffd0 15%, #fff 50%, #f7ffd0 85%, transparent); box-shadow: 0 2px 10px rgba(247,255,208,.9); }
.pm-glass { position: relative; background: linear-gradient(180deg, #f4f6f0, #e4e7dd); border-radius: 6px; padding: 6px; }
.pm-glass::after { content: ""; position: absolute; inset: 0; border-radius: 6px; pointer-events: none; background: linear-gradient(115deg, rgba(255,255,255,.45) 0%, rgba(255,255,255,0) 20%, rgba(255,255,255,0) 62%, rgba(255,255,255,.22) 74%, rgba(255,255,255,0) 86%); }
.pm-handle { position: absolute; right: -9px; top: 22%; width: 6px; height: 34%; border-radius: 4px; background: linear-gradient(90deg, #8d9094, #d7d9dc, #8d9094); box-shadow: 0 1px 3px rgba(0,0,0,.4); }
.pm-bin { margin: 0 6px 8px; height: 30px; border-radius: 6px; background: linear-gradient(180deg, #111214, #2a2b2e); box-shadow: inset 0 3px 6px rgba(0,0,0,.6), 0 0 0 3px #3a3b3e; display: flex; align-items: center; justify-content: center; }
.pm-master .pm-bin { box-shadow: inset 0 3px 6px rgba(0,0,0,.65), 0 0 0 2px #3a3d42; background: linear-gradient(180deg, #111214, #2a2b2e); }
.pm-master .pm-bin span { color: #C4D600; }
.pm-bin span { color: #C4D600; font-size: 9px; font-weight: 800; letter-spacing: 3px; opacity: .8; }
.pm-master .pm-feet i { background: #1b1c1e; }
.pm-feet { display: flex; justify-content: space-between; padding: 0 14px; height: 10px; }
.pm-feet i { width: 26px; height: 8px; background: #1b1c1e; border-radius: 0 0 4px 4px; }
.pm-shelf { display: flex; align-items: stretch; gap: 6px; padding: 6px 0 8px; border-bottom: 5px solid #a9ada0; box-shadow: 0 2px 0 #8c9083; margin-bottom: 4px; }
.pm-shelf:last-child { margin-bottom: 0; }
.pm-sn { flex: 0 0 22px; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 12px; color: #262729; background: #C4D600; border-radius: 6px; }
.pm-row { flex: 1; display: grid; gap: 4px; }
.pm-slot { all: unset; box-sizing: border-box; min-width: 0; contain: inline-size; position: relative; cursor: pointer; background: rgba(255,255,255,.75); border: 2px solid #d9dccf; border-radius: 8px; padding: 3px 3px 4px; min-height: 104px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; }
.pm-slot:hover, .pm-slot:focus-visible, .pm-slot.sel { border-color: #262729; box-shadow: 0 0 0 2px #C4D600; }
.pm-code { align-self: flex-start; font-size: 10px; font-weight: 800; color: #5b5d60; letter-spacing: .3px; }
.pm-ph { position: relative; flex: 1; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 58px; }
.pm-img { max-width: 100%; max-height: 58px; object-fit: contain; filter: drop-shadow(0 2px 2px rgba(0,0,0,.18)); }
.pm-ic { font-size: 22px; line-height: 1.1; }
.pm-name { font-size: 10px; line-height: 1.2; color: #262729; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; word-break: break-word; }
.pm-tagp { font-size: 10px; font-weight: 800; color: #262729; background: #fff; border: 1px solid #262729; border-radius: 3px; padding: 0 4px; line-height: 15px; }
.pm-qty { white-space: nowrap; font-size: 10px; font-weight: 800; color: #262729; background: #C4D600; border-radius: 8px; padding: 0 6px; line-height: 16px; }
.pm-slot.st-low { border-color: #e8a33d; } .pm-slot.st-low .pm-qty { background: #e8a33d; color: #fff; }
.pm-slot.st-empty { border-color: #d64545; } .pm-slot.st-empty .pm-qty { background: #d64545; color: #fff; }
.pm-slot.st-empty .pm-img, .pm-slot.st-empty .pm-ic { filter: grayscale(1) blur(1.5px); opacity: .45; }
.pm-emptyb { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-8deg); font-size: 11px; font-weight: 900; color: #fff; background: #d64545; border-radius: 4px; padding: 1px 6px; letter-spacing: .5px; }
.pm-slot.st-na .pm-qty { background: #e6e8dd; }
.pm-slot.st-prop { border-color: #C4D600; background: rgba(251,253,233,.9); }
.pm-free { color: #8a8d80; font-size: 12px; font-style: italic; padding: 36px 0; text-align: center; }
.pm-info { border: 2px solid #C4D600; border-radius: 10px; background: #fff; padding: 10px 12px; font-size: 13px; color: #262729; }
.pm-info b { display: block; margin-bottom: 4px; }
.pm-info dl { display: grid; grid-template-columns: max-content 1fr; gap: 2px 12px; margin: 0; } .pm-info dt { color: #5b5d60; } .pm-info dd { margin: 0; font-weight: 700; }
.pm-hint { margin: 0; }
.pm-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: 4px; }
.pm-dot { display: inline-block; width: 12px; height: 12px; border-radius: 3px; border: 2px solid #d9dccf; vertical-align: -2px; }
.pm-dot.st-ok { border-color: #C4D600; background: #C4D600; } .pm-dot.st-low { border-color: #e8a33d; background: #e8a33d; } .pm-dot.st-empty { border-color: #d64545; background: #d64545; }
.pm-slot.ch-new { border-color: #3fa34d; box-shadow: 0 0 0 2px rgba(63,163,77,.35); }
.pm-slot.ch-move { border-color: #e8b400; box-shadow: 0 0 0 2px rgba(232,180,0,.4); }
.pm-chb { position: absolute; top: 3px; right: 3px; font-size: 8.5px; font-weight: 900; letter-spacing: .4px; color: #fff; background: #3fa34d; border-radius: 3px; padding: 0 4px; line-height: 13px; white-space: nowrap; }
.pm-slot.ch-move .pm-chb { background: #e8b400; color: #262729; }
.pm-slot.ch-repl { border-color: #d9480f; box-shadow: 0 0 0 2px rgba(217,72,15,.35); }
.pm-slot.ch-repl .pm-chb, .pm-chb-repl { background: #d9480f; color: #fff; }
.pm-dot.ch-repl { border-color: #d9480f; background: #fff; }
.pm-chg { margin: 8px 0; padding: 8px 10px; border: 1px solid #E6E8DD; border-radius: 10px; background: #fff; }
.pm-chg-h { margin: 0 0 6px; } .pm-chg ul { margin: 0; padding: 0; list-style: none; }
.pm-chg li { padding: 6px 0; border-top: 1px solid #f0f1ea; font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
.pm-chg li:first-child { border-top: 0; }
.pm-chg-at { display: block; font-size: 12px; color: #6B6D70; }
.pm-chg-repl b { color: #a33a0b; } .pm-chtag.ch-repl { background: #fde6d8; color: #a33a0b; } .pm-chg-del b { color: #9b2424; } .pm-chg-new b { color: #24692e; }
.pm-dot.ch-new { border-color: #3fa34d; background: #fff; } .pm-dot.ch-move { border-color: #e8b400; background: #fff; } .pm-dot.ch-same { border-color: #C4D600; background: #fff; }
.pm-list td { vertical-align: middle; } .pm-list td:last-child { min-width: 240px; } .pm-list td.pm-chc { white-space: normal; min-width: 130px; }
.asst-tw:has(> .pm-list) { max-height: 520px; }
.pm-lp { display: inline-flex; align-items: center; gap: 6px; }
.pm-li { width: 28px; height: 28px; object-fit: contain; flex: 0 0 28px; display: inline-flex; align-items: center; justify-content: center; font-size: 16px; border-radius: 4px; background: #f4f6f0; }
.pm-chtag { display: inline-block; font-size: 11px; font-weight: 800; border-radius: 4px; padding: 1px 6px; white-space: nowrap; background: #eef0e6; color: #262729; }
.pm-chtag.ch-new { background: #e3f3e5; color: #24692e; } .pm-chtag.ch-move { background: #fff4c7; color: #6b5300; } .pm-chtag.ch-del { background: #fbe3e3; color: #9b2424; } .pm-chtag.ch-same { background: #f3f7d2; color: #4d5400; }
.pm-list tr.ch-del td { color: #8a8d80; } .pm-list tr.ch-del .pm-lp span:last-child { text-decoration: line-through; }
.pm-cmpdlg { width: min(96vw, 2400px); max-width: 96vw; max-height: 92vh; padding: 0; border: 0; border-radius: 14px; box-shadow: 0 18px 60px rgba(0,0,0,.35); }
.pm-cmpdlg::backdrop { background: rgba(38,39,41,.6); }
.pm-cmphead { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; background: #fff; border-bottom: 3px solid #C4D600; }
.pm-cmpgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 12px 14px; }
.pm-cmpcol { min-width: 0; }
@media (max-width: 900px) { .pm-cmpgrid { grid-template-columns: 1fr; } .pm-cmpdlg { width: 100vw; max-width: 100vw; max-height: 100dvh; height: 100dvh; border-radius: 0; margin: 0; } }
.asst-msg .pmock { margin: 8px 0; } .asst-msg .pm-slot { min-height: 96px; }
@media (max-width: 700px) { .pm-brand { font-size: 15px; } .pm-tag { letter-spacing: 1.5px; } .pm-fascia { flex-basis: 112px; padding: 10px 8px; } .pm-screen { min-height: 160px; border-width: 8px; } .pm-slot { min-height: 104px; } }
@media (max-width: 700px) { [data-testid="plano-filters"] label { flex: 1 1 100% !important; min-width: 0; } [data-testid="plano-filters"] select { width: 100%; max-width: 100%; } }

/* «Σύμβουλος πωλήσεων» (CEO 09/10/2026) */
.adv-note{text-align:left;margin-bottom:12px}
.adv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.adv-grid>.panel{margin:0;min-width:0}.adv-grid>.adv-wide,.adv-grid>.adv-area{grid-column:1/-1}
@media(max-width:900px){.adv-grid{grid-template-columns:minmax(0,1fr)}}
.adv-moves{border-left:4px solid #C4D600}
.adv-mv{margin:6px 0 4px;padding-left:22px}.adv-mv li{margin:0 0 10px}.adv-mv p{margin:3px 0 0;font-size:13px;color:#4B5563}
.adv-mv-h{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;justify-content:space-between}
.adv-eur{font-weight:800;color:#262729;background:#F3F5EA;border-radius:999px;padding:2px 10px;white-space:nowrap}
.adv-est{font-size:11px;font-weight:600;color:#6B7280;font-style:italic;white-space:nowrap}
.adv-tw{overflow-x:auto;-webkit-overflow-scrolling:touch}.adv-tall{max-height:460px;overflow-y:auto}
.adv-t{width:100%;border-collapse:collapse;font-size:13px}.adv-t th,.adv-t td{padding:6px 6px;border-bottom:1px solid #EEF0F2;text-align:left;vertical-align:top}
.adv-t th{font-size:12px;color:#6B7280;font-weight:700;position:sticky;top:0;background:#fff}.adv-t .num{text-align:right;white-space:nowrap}
.adv-t tr.adv-zero td{color:#9CA3AF}.adv-t tr.adv-dead td{background:#FEF2F2}.adv-t tr.adv-star td{background:#F7FAE0}
.adv-neg{color:#B45309;font-weight:700}.adv-pos{color:#1D4ED8;font-weight:700}
.adv-area .adv-map{height:240px;border-radius:10px;margin:4px 0 6px;background:#E5E7EB;z-index:0}
.adv-area2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 18px;align-items:start}
@media(max-width:900px){.adv-area2{grid-template-columns:minmax(0,1fr)}}
.adv-demo{background:#262729;color:#C4D600;font-weight:800;border-radius:8px;padding:6px 10px;margin:0 0 8px;font-size:13px}
.adv-prof{margin:2px 0 6px}.adv-pr{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr) 40px minmax(0,1fr) 40px;gap:6px;align-items:center;font-size:13px;margin:3px 0}
.adv-bar{height:10px;background:#EEF0F2;border-radius:6px;overflow:hidden}.adv-bar i{display:block;height:100%;background:#262729}.adv-bar-m i{background:#C4D600}
.adv-pr b{text-align:right;font-size:12px}.adv-pr b.adv-m{color:#5B6400}
.adv-prl{display:flex;gap:12px;flex-wrap:wrap;color:#6B7280;margin:4px 0}.adv-k{display:inline-block;width:12px;height:8px;border-radius:3px;background:#262729;margin-right:4px}.adv-k-m{background:#C4D600}
@media(max-width:520px){.adv-pr{grid-template-columns:minmax(0,1fr) 40px 40px;row-gap:3px;margin:6px 0}.adv-pr .adv-bar:not(.adv-bar-m){display:none}.adv-pr .adv-bar-m{grid-column:1/-1;order:9}}
.adv-rules summary,.adv-caladd summary{cursor:pointer;font-weight:700;font-size:13px;margin:6px 0}
.adv-cal2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}@media(max-width:700px){.adv-cal2{grid-template-columns:minmax(0,1fr)}}
.adv-ev{list-style:none;padding:0;margin:0}.adv-ev li{padding:6px 0;border-bottom:1px solid #EEF0F2;font-size:13px}.adv-ev li.adv-hid{opacity:.5;text-decoration:line-through}
.adv-evd{font-variant-numeric:tabular-nums;color:#374151;white-space:nowrap}.adv-inl{display:inline;margin-left:6px}.adv-inl .btn{padding:1px 8px;font-size:11px}
.adv-chip{display:inline-block;background:#F3F5EA;border-radius:999px;padding:3px 10px;margin:0 6px 6px 0;font-size:12px}
.adv-mail{border:1px solid #E5E7EB;border-radius:10px;padding:12px 14px;background:#FAFAF7;font-size:14px}.adv-mail ol{padding-left:20px;margin:6px 0}.adv-mail li{margin:0 0 6px}
.adv-subj{border-bottom:1px solid #E5E7EB;padding-bottom:6px;margin:0 0 8px}
.adv-lock-msg{font-size:15px;font-weight:700}.adv-lock-l{padding-left:20px;line-height:1.6}
.adv-lock-demo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;filter:blur(1.2px);opacity:.55;pointer-events:none;user-select:none}
.adv-ghost{border:1px dashed #C9CDD2;border-radius:10px;padding:10px}.adv-ghost i{display:block;height:9px;border-radius:5px;background:#E5E7EB;margin-top:8px}.adv-ghost i:nth-child(3){width:70%}.adv-ghost i:nth-child(4){width:45%;background:#C4D600}
@media(max-width:700px){.adv-lock-demo{grid-template-columns:minmax(0,1fr)}}
.adv-adult{background:#FFF7ED;border-radius:8px;padding:5px 9px;color:#7C2D12}
[data-testid=adv-filters] label{min-width:0;max-width:100%}[data-testid=adv-filters] select{width:100%;max-width:100%;min-width:0}
@media(max-width:520px){.adv-t .adv-near{display:none}.adv-t th,.adv-t td{padding:5px 4px}}
/* «Κέρδος» */
.pf-filters .pf-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end;margin-left:auto}
.pf-filters label{min-width:0;max-width:100%}.pf-filters select{width:100%;max-width:100%;min-width:0}
.pf-nocost{border-left:4px solid #C4D600}
.pf-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:10px}.pf-cards>.panel{margin:0;min-width:0}
@media(max-width:900px){.pf-cards{grid-template-columns:minmax(0,1fr)}}
.pf-card h3{margin:0 0 6px}.pf-kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;margin:0;align-items:baseline}
.pf-kv dt{color:#6B7280;font-size:13px}.pf-kv dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.pf-kv dd b{font-size:16px;color:#262729}
.pf-ch{display:inline-block;margin-left:6px;font-size:11px;font-weight:700;border-radius:999px;padding:1px 7px;white-space:nowrap}
.pf-ch.up{background:#F3F5EA;color:#4D5700}.pf-ch.down{background:#FEF2F2;color:#B91C1C}
.pf-neg{color:#B91C1C!important}.pf-warn{background:#FFF7ED;border-radius:8px;padding:6px 10px;color:#7C2D12;margin:0 0 10px;font-size:13px}
.pf-ok{background:#F3F5EA;border-radius:8px;padding:6px 10px;color:#262729;margin:0 0 10px;font-size:13px}
.pf-chart{width:100%;height:auto;display:block;max-height:260px}.pf-chart-m{display:none}@media(max-width:520px){.pf-chart{display:none}.pf-chart.pf-chart-m{display:block;max-height:none}}
.pf-k-neg{background:#DC2626!important}.pf-k-line{background:none!important;border-top:2px solid #262729;height:0!important;vertical-align:middle}
.pf-sum{margin-top:6px;line-height:1.7}
.pf-pnl{margin:0 0 14px}.pf-pnl h2{margin:0 0 10px}.pf-pnl ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.pf-pnl li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;background:#FAFAF7;border-radius:12px;padding:10px 14px}
.pf-pnl .lbl{font-weight:700;color:#262729}.pf-pnl .amt{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:800;font-size:18px;color:#262729}
.pf-pnl li.minus .amt{color:#B45309}.pf-pnl li.plus .amt{color:#4D5700}
.pf-pnl .bits{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px}
.pf-pnl .bit{background:#fff;border:1px solid #E3E5DA;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:600;color:#374151}
.pf-show-row{margin:0 0 10px}.pf-export{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px}
.pf-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;width:100%;box-sizing:border-box;min-height:44px;margin:0;padding:10px 14px;border:1px solid #C5C9B8;border-radius:12px;background:#fff;color:#262729;font:inherit;font-weight:800;font-size:16px;line-height:1.25;text-align:left;cursor:pointer;box-shadow:0 1px 0 rgba(38,39,41,.06)}
.pf-toggle:hover{background:#FAFBF5;border-color:#8A8F78}
.pf-toggle:focus-visible{outline:2px solid #262729;outline-offset:2px}
.pf-toggle[aria-expanded="true"]{background:#E4E8D0;border-color:#6E7600;box-shadow:inset 0 3px 7px rgba(38,39,41,.2)}
.pf-chev{flex:none;width:9px;height:9px;margin:0 2px;border-right:2.5px solid #262729;border-bottom:2.5px solid #262729;transform:rotate(-45deg)}
.pf-toggle[aria-expanded="true"] .pf-chev{transform:rotate(45deg);margin-top:-4px}
.pf-toggle-name{flex:1 1 auto;min-width:8em}
.pf-toggle-act{margin-left:auto;font-size:13px;font-weight:700;color:#3E4320}
.pf-statement[hidden]{display:none}
.pf-statement li.expense .lbl,.pf-statement li.income .lbl{padding-left:16px;font-weight:600}
.pf-statement li.total{background:#F3F5EA}
.pf-statement li.result{background:#262729}.pf-statement li.result .lbl{color:#fff}.pf-statement li.result .amt{color:#C4D600}
.pf-statement li.result .amt.pf-neg{color:#FCA5A5!important}
.pf-pnl-result{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:8px;padding:12px 14px;border-radius:12px;background:#262729;color:#fff;font-weight:700}
.pf-pnl-result b{font-size:22px;color:#C4D600;font-variant-numeric:tabular-nums}.pf-pnl-result b.pf-neg{color:#FCA5A5!important}
.adv-t tr.pf-nc td{color:#6B7280}.pf-ncl{color:#B45309}
.pf-pb{margin:0 0 12px}.pf-pb-h{display:flex;gap:6px;align-items:baseline}.pf-pb-pct{margin-left:auto;font-weight:800}
.pf-bar{height:12px;background:#EEF0F2;border-radius:6px;overflow:hidden;margin:4px 0}.pf-bar i{display:block;height:100%;background:#C4D600}
.pf-xl{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:flex-end;margin:6px 0 12px}.pf-imp{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.pf-imp label{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:100%}.pf-imp input[type=file]{max-width:100%}
.pf-from{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin:0 0 8px}.pf-from label{display:flex;flex-direction:column;gap:2px}
.pf-in{width:84px;text-align:right}.pf-ct select{width:72px}
.pf-exp{display:flex;flex-direction:column;gap:8px}.pf-exp label{display:flex;flex-direction:column;gap:2px;font-size:13px}.pf-exp input,.pf-exp select{max-width:100%}
.pf-pos-fees{display:flex;flex-direction:column;gap:10px;width:100%;box-sizing:border-box;border:1px solid #C4D600;border-radius:12px;background:#F7F8F1;padding:12px}
.pf-pos-fees h3{margin:0;font-size:16px;font-weight:800}
.pf-pos-fees label{display:flex;flex-direction:column;gap:4px;width:100%;font-weight:700;font-size:15px}
.pf-pos-fees label[hidden]{display:none}
.pf-pos-fees input{display:block;width:100%;max-width:none;box-sizing:border-box;min-height:44px;font-size:16px}
.pf-income{border:1px solid #E3E5DA;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:8px;background:#FAFAF7}
.pf-income h3{margin:0;font-size:15px}
.pf-auto{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;font-size:13px;background:#FAFAF7;border-radius:8px;padding:6px 8px}
.pf-m{border:1px solid #EEF0F2;border-radius:8px;padding:6px 10px;display:flex;flex-wrap:wrap;gap:8px}.pf-m label{flex:1 1 140px}
.pf-ll{list-style:none;padding:0;margin:0}.pf-ll li{padding:6px 0;border-bottom:1px solid #EEF0F2;font-size:13px}
@media(max-width:520px){.pf-filters .pf-acts{margin-left:0;width:100%}.pf-ct td,.pf-ct th{padding:5px 3px}.pf-in{width:70px}}
.ptable2 .c-k{white-space:nowrap}.ptable2 .c-k select{width:64px;margin-left:4px}
@media(max-width:700px){.ptable2.rtable.pk tr{grid-template-areas:"name name name" "u e o" "k k k" "m m h"}.ptable2 .c-k{grid-area:k;text-align:left}}
.pf-kl{opacity:.75}.pf-kl .val{color:#6B7280}
@media(max-width:520px){.pf-ct th.num{white-space:normal;font-size:11px}.pf-ct td:first-child{word-break:break-word}.pf-ct .pf-in{width:58px;padding:4px}.pf-ct select{width:58px;padding:4px 2px}}
.pf-in:placeholder-shown{border-color:#F59E0B}
.pf-info{background:#F7F8F1;border-left:3px solid #C4D600;border-radius:8px;padding:8px 12px;margin:0 0 10px}.pf-info p{margin:4px 0}
.pf-mform{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 12px}.pf-mform label{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:600}
.pf-mwrap{display:inline-flex;align-items:center;gap:4px;font-weight:400}.pf-mform .pf-min{width:64px}.pf-mform #pf-mhint{flex-basis:100%}
.btn-search{display:inline-flex;align-items:center;gap:6px}.btn-search .ic-search{flex:none}
.qpick{display:flex;flex-wrap:wrap;gap:6px;width:100%}
.qpick a,.qpick .qc{padding:6px 12px;border-radius:999px;background:#fff;border:1px solid #E1E4DC;color:#262729;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
.qpick .qc{color:#8A8C8F;font-weight:500}.qpick a:hover{border-color:#C4D600;text-decoration:none}
.qpick a.on,.qpick .qc.on{background:#C4D600;border-color:#C4D600;color:#262729}
.slots-gaps{margin:0 0 12px;padding-left:18px;color:#4B5563;font-size:13px}
.slot-ch{border-top:1px solid #E3E5DA;padding:12px 0}.slot-ch h3{margin:0 0 4px}
.slot-score{margin:0 0 8px;font-size:13px}
.slot-sugs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.slot-card{border:1px solid #E3E5DA;border-radius:12px;padding:10px;background:#fff;display:flex;flex-direction:column;gap:4px}
.slot-card img{width:72px;height:72px;object-fit:contain;background:#F5F6F0;border-radius:8px}
.slot-ph{width:72px;height:72px;border-radius:8px;background:#F4F8D6;color:#262729;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:28px}
.slot-li{width:32px;height:32px;object-fit:contain;vertical-align:middle;border-radius:4px;margin-right:6px;background:#fff}
.slot-now-ph{width:32px;height:32px;border-radius:4px;background:#F4F8D6;color:#262729;font-weight:800;display:inline-flex;align-items:center;justify-content:center;font-size:14px;vertical-align:middle;margin-right:6px}
.conf{font-weight:800}.conf-low{color:#B45309}.conf-medium{color:#3F6212}.conf-high{color:#3F6212}

/* «Ακίνητα» on phones (CEO hotfix 14/10/2026): rows become labelled cards, 2-column filters, no horizontal overflow */
@media(max-width:700px){
 .slt.rtable tr{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;padding:12px 2px}
 .slt.rtable td,.slt.rtable td.num{text-align:left;overflow-wrap:anywhere;white-space:normal}
 .slt td[data-l]::before{content:attr(data-l);display:block;font-size:11px;color:#6B6D70;font-weight:400}
 .slt .c-code{grid-area:code;font-size:13px;color:#4A4B4D}.slt .c-name{grid-area:name;font-weight:600}.slt .c-days{grid-area:days}.slt .c-last{grid-area:last}
 .slt .c-30{grid-area:u30}.slt .c-90{grid-area:u90}.slt .c-st{grid-area:st}.slt .c-seen{grid-area:seen}.slt .c-n{grid-area:n}.slt .c-go{grid-area:go;text-align:right}
 .slt-now.rtable tr{grid-template-areas:"code code code" "name name name" "days days days" "last last last" "u30 u90 st"}
 .slt-old.rtable tr{grid-template-areas:"name name name" "seen seen last" "u30 u90 u90"}
 .slt-empty.rtable tr{grid-template-areas:"code code st" "name name name"}
 .slt-list.rtable tr{grid-template-areas:"name name name" "n go go"}
 .slt .slot-li,.slt .slot-now-ph{width:28px;height:28px}
 .slots-f{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}
 .slots-f label{min-width:0}.slots-f input{width:100%;box-sizing:border-box;min-height:40px}
 .slots-f .btn{min-height:44px;width:100%;box-sizing:border-box;text-align:center;display:inline-flex;align-items:center;justify-content:center}
 .slot-sugs{grid-template-columns:1fr !important}.slot-ch h3{overflow-wrap:anywhere}
}
.pm-chg-row { margin: 10px 0 2px; font-size: 13px; color: #3c3e40; } .pm-chg-move b { color: #1d4f91; }
