/* ░░░░░ Τεχνομπετόν admin panel (back-office, demo no-login) ░░░░░ */
.pnl{background:var(--cloud);display:flex;min-height:100dvh}
.btn--sm{padding:.6em 1.1em;font-size:.88rem}
.btn--ghost{background:#fff;border:1.5px solid var(--line);color:var(--ink);box-shadow:none}
.btn--ghost:hover{border-color:var(--muted-2);background:var(--cloud)}

/* sidebar */
.side{width:248px;flex-shrink:0;background:var(--ink);color:#C7C7D0;display:flex;flex-direction:column;
  position:sticky;top:0;height:100dvh;z-index:50}
.side__brand{display:flex;align-items:center;gap:.6rem;padding:1.3rem 1.4rem;border-bottom:1px solid rgba(255,255,255,.08)}
.side__brand img{height:34px}
.side__brand span{font-family:var(--hsans);font-weight:600;color:#fff;font-size:.95rem}
.side__nav{display:flex;flex-direction:column;padding:1rem .8rem;gap:.2rem;flex:1;overflow-y:auto}
.side__nav a{display:flex;align-items:center;gap:.8rem;padding:.75rem .9rem;border-radius:11px;font-weight:500;
  font-size:.95rem;color:#B9B9C4;cursor:pointer;transition:.18s}
.side__nav a .ic{font-size:1.05rem;width:20px;text-align:center;opacity:.85}
.side__nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.side__nav a.on{background:var(--yellow);color:var(--ink);font-weight:600}
.side__sep{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#6b7186;
  padding:1rem .9rem .35rem;margin-top:.4rem;border-top:1px solid rgba(255,255,255,.08)}
.navb{margin-left:auto;background:var(--yellow);color:var(--ink);font-family:var(--hsans);font-weight:700;
  font-size:.72rem;min-width:20px;height:20px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.navb:empty{display:none}
.side__nav a.on .navb{background:var(--ink);color:var(--yellow)}
.side__foot{padding:1rem 1.2rem;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.5rem}
.side__store{font-size:.88rem;color:var(--yellow);font-weight:600}
.side__by{font-size:.76rem;color:var(--muted-2)}
.side__by b{color:#C7C7D0}
.side__scrim{display:none}

/* main */
.pnl__main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);padding:.9rem 1.5rem;display:flex;align-items:center;gap:1rem}
.topbar__burger{display:none;flex-direction:column;gap:5px;width:38px;height:38px;align-items:center;justify-content:center;border-radius:10px}
.topbar__burger span{width:20px;height:2px;background:var(--ink);border-radius:2px}
.topbar__title{font-size:1.3rem;font-weight:700;margin-right:auto}
.topbar__act{display:flex;align-items:center;gap:.9rem}
.topbar__user{width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--yellow);font-family:var(--hsans);
  font-weight:700;display:grid;place-items:center;font-size:.95rem}
.content{padding:1.6rem 1.5rem;max-width:1200px;width:100%}
.view__intro{color:var(--muted);font-size:.95rem;margin-bottom:1.1rem;max-width:70ch}

/* stat cards */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.4rem}
.stats--3{grid-template-columns:repeat(3,1fr)}
.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.3rem 1.4rem;position:relative;overflow:hidden}
.stat__ic{position:absolute;right:1rem;top:1rem;font-size:1.5rem;opacity:.18}
.stat__v{font-family:var(--hsans);font-size:1.9rem;font-weight:700;line-height:1}
.stat__l{color:var(--muted);font-size:.85rem;margin-top:.35rem}
.stat__d{font-size:.75rem;font-weight:600;margin-top:.5rem;color:#27c08a}
.stat--accent{background:linear-gradient(135deg,var(--yellow),var(--yellow-deep));border:none}
.stat--accent .stat__l{color:rgba(30,39,64,.72)}.stat--accent .stat__d{color:var(--ink)}
.stat--accent .stat__v{color:var(--ink)}

/* quick links */
.quicklinks{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.4rem}
.qlink{display:flex;align-items:center;gap:.9rem;background:var(--navy);color:#fff;border-radius:16px;
  padding:1.05rem 1.2rem;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.qlink:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.qlink__ic{width:42px;height:42px;flex-shrink:0;border-radius:12px;background:var(--yellow);color:var(--ink);
  display:grid;place-items:center;font-size:1.25rem;font-weight:700}
.qlink b{font-family:var(--hsans);font-size:.98rem;display:block}
.qlink small{display:block;color:rgba(255,255,255,.62);font-size:.78rem;margin-top:.1rem}

/* dash row */
.dash__row{display:grid;grid-template-columns:1.3fr 1fr;gap:1rem}
.card2{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.4rem}
.card2__t{font-family:var(--hsans);font-size:.95rem;margin-bottom:1.1rem;display:flex;align-items:baseline;gap:.5rem}
.card2__sub{font-family:var(--bsans);font-weight:400;font-size:.76rem;color:var(--muted-2)}
.bars{display:flex;flex-direction:column;gap:.8rem}
.bars--lg{gap:1rem}
.bar{display:grid;grid-template-columns:150px 1fr 50px;align-items:center;gap:.7rem;font-size:.85rem}
.bar>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar__track{height:10px;background:var(--cloud);border-radius:6px;overflow:hidden}
.bars--lg .bar__track{height:13px}
.bar__fill{height:100%;background:linear-gradient(90deg,var(--yellow),var(--yellow-deep));border-radius:6px;transition:width .8s var(--ease)}
.bar__n{font-weight:700;font-family:var(--hsans);text-align:right}
.activity{list-style:none;display:flex;flex-direction:column;gap:.9rem}
.activity li{display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem}
.activity .dot{width:8px;height:8px;border-radius:50%;background:var(--yellow-deep);margin-top:.45rem;flex-shrink:0}
.activity small{color:var(--muted-2);display:block}

/* toolbar */
.tbar{display:flex;gap:.7rem;margin-bottom:1.1rem;flex-wrap:wrap;align-items:center}
.tbar__search{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:11px;padding:.55rem .9rem;color:var(--muted);flex:1;min-width:200px}
.tbar__search input{border:none;outline:none;flex:1;font-family:inherit;font-size:.92rem;color:var(--ink)}
.tbar select{background:#fff;border:1px solid var(--line);border-radius:11px;padding:.6rem .9rem;font-family:inherit;font-size:.92rem;color:var(--ink)}

/* table */
.tablewrap{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:auto}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}
.tbl th{text-align:left;padding:.85rem 1rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--muted-2);font-weight:700;border-bottom:1px solid var(--line);background:var(--cloud);position:sticky;top:0}
.tbl td{padding:.7rem 1rem;border-bottom:1px solid var(--cloud);vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:#fcfcfd}
.tbl__img{width:40px;height:40px;object-fit:contain;mix-blend-mode:multiply;background:var(--cloud);border-radius:8px;padding:3px}
.tbl__code{font-family:var(--hsans);font-size:.78rem;color:var(--muted-2);font-weight:600;white-space:nowrap}
.tbl__name{font-weight:600;min-width:160px}
.tbl__price{font-family:var(--hsans);font-weight:700;white-space:nowrap}
.tbl__act{display:inline-flex;align-items:center;justify-content:center;color:var(--muted-2);cursor:pointer;width:30px;height:30px;border-radius:8px;font-size:.95rem;border:1.5px solid transparent}
.tbl__act:hover{background:var(--cloud);color:var(--ink);border-color:var(--line)}
.tbl__empty{text-align:center;color:var(--muted-2);padding:2.4rem 1rem;font-style:italic}
.tbl__foot-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.8rem;flex-wrap:wrap}
.tbl__foot{color:var(--muted-2);font-size:.85rem;margin:0}

/* pills */
.pill{display:inline-flex;align-items:center;gap:.35em;font-size:.74rem;font-weight:700;padding:.28em .7em;border-radius:100px;white-space:nowrap}
.pill--on{background:rgba(39,192,138,.14);color:#1c9b6e}
.pill--off{background:rgba(154,154,164,.18);color:#6c6c77}
.pill--ai{background:rgba(255,210,0,.2);color:#8a6d00}
.pill--edit{background:rgba(91,140,255,.16);color:#3b63d6}
.pill--new{background:rgba(255,210,0,.22);color:#8a6d00}
.pill--proc{background:rgba(91,140,255,.16);color:#3b63d6}
.pill--done{background:rgba(39,192,138,.14);color:#1c9b6e}
.pill--b2b{background:var(--ink);color:#fff}
.pill--phone{background:rgba(91,140,255,.14);color:#3b63d6}
.pill--online{background:rgba(255,210,0,.2);color:#8a6d00}
.pill--cat{background:var(--cloud);color:var(--muted);font-size:.7rem}
.tog{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;font-size:.92rem;cursor:pointer}
.skeleton-note{color:var(--muted-2);font-size:.85rem;margin-top:1rem;font-style:italic}

/* settings */
.setgrid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
.fld{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:.7rem}
.fld input,.fld select,.fld textarea{border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem;font-family:inherit;font-size:.92rem;color:var(--ink);font-weight:400;width:100%}
.fld textarea{resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--navy)}

/* top sellers */
.sellers{display:flex;flex-direction:column;gap:.75rem}
.seller{display:grid;grid-template-columns:22px 40px 1fr 64px;align-items:center;gap:.8rem}
.seller__rk{font-family:var(--hsans);font-weight:700;color:var(--muted-2);text-align:center}
.seller__b{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.seller__b b{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seller__n{font-family:var(--hsans);font-weight:700;font-size:.84rem;text-align:right}

/* order filter chips + actions */
.ofilters{display:flex;gap:.5rem;margin-bottom:.7rem;flex-wrap:wrap}
.ofilters--ch{margin-bottom:1rem}
.ochip{font-weight:600;font-size:.88rem;padding:.5em 1em;border-radius:100px;background:#fff;border:1.5px solid var(--line);transition:.2s;cursor:pointer}
.ochip i{font-style:normal;opacity:.55;font-weight:700}
.ochip:hover{border-color:var(--muted-2)}
.ochip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.ochip--ch.on{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.obtn{font-size:.8rem;font-weight:600;padding:.45em .9em;border-radius:8px;background:var(--cloud);white-space:nowrap;transition:.2s;border:none;cursor:pointer;color:var(--ink)}
.obtn:hover{background:var(--yellow)}

/* suppliers grid */
.supgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.supcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.2rem;display:flex;flex-direction:column;gap:.7rem;transition:transform .2s var(--ease),box-shadow .2s}
.supcard:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.supcard__hd{display:flex;align-items:flex-start;gap:.7rem}
.supcard__av{width:42px;height:42px;flex-shrink:0;border-radius:11px;background:var(--navy);color:var(--yellow);
  font-family:var(--hsans);font-weight:700;font-size:1.1rem;display:grid;place-items:center}
.supcard__id{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}
.supcard__id b{font-family:var(--hsans);font-size:.98rem;line-height:1.2}
.supcard__sup{font-size:.85rem;color:var(--muted);line-height:1.45}
.supcard__ct{display:flex;flex-direction:column;gap:.3rem;border-top:1px solid var(--cloud);padding-top:.7rem;margin-top:auto}
.supcard__ct a{font-size:.84rem;color:var(--ink);font-weight:500}
.supcard__ct a:hover{color:var(--yellow-deep)}

/* analytics: revenue legend bars + minibar */
.donut{display:flex;flex-direction:column;gap:.85rem}
.dleg{display:grid;grid-template-columns:14px 90px 1fr auto;align-items:center;gap:.6rem;font-size:.85rem}
.dleg__dot{width:11px;height:11px;border-radius:3px}
.dleg__l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.dleg__track{height:9px;background:var(--cloud);border-radius:5px;overflow:hidden}
.dleg__fill{height:100%;border-radius:5px;transition:width .8s var(--ease)}
.dleg__v{font-family:var(--hsans);font-weight:700;font-size:.8rem;text-align:right;white-space:nowrap}
.minibar{width:80px;height:8px;background:var(--cloud);border-radius:5px;overflow:hidden}
.minibar__fill{height:100%;background:linear-gradient(90deg,var(--yellow),var(--yellow-deep));border-radius:5px}

/* ── modals (product edit / supplier / order) ── */
.pmodal{position:fixed;inset:0;z-index:80;background:rgba(14,14,16,.5);display:flex;align-items:center;justify-content:center;padding:1.2rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.pmodal[hidden]{display:none}
.emodal{background:#fff;border-radius:18px;width:440px;max-width:96vw;max-height:92dvh;overflow-y:auto;padding:1.6rem;position:relative;box-shadow:var(--shadow-lg);animation:pop .3s var(--ease)}
.pmodal__x{position:absolute;right:1rem;top:1rem;width:32px;height:32px;border-radius:9px;background:var(--cloud);color:var(--muted);font-size:1rem;cursor:pointer;border:none;line-height:1}
.pmodal__x:hover{background:var(--line);color:var(--ink)}
.emodal__title{display:block;font-family:var(--hsans);font-size:1.1rem;margin-bottom:1.1rem}
.emodal__hd{display:flex;align-items:center;gap:.9rem;margin-bottom:1.1rem;padding-right:2rem}
.emodal__img{width:54px;height:54px;object-fit:contain;background:var(--cloud);border-radius:11px;padding:5px;flex-shrink:0}
.emodal__hd b{font-family:var(--hsans);font-size:1rem;line-height:1.25;display:block}
.emodal__code{font-size:.78rem;color:var(--muted-2);font-family:var(--hsans);font-weight:600}
.emodal__row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.emodal__note{font-size:.78rem;color:var(--muted-2);font-style:italic;margin:.2rem 0 1rem}
.emodal__act{display:flex;gap:.7rem;justify-content:flex-end;align-items:center;margin-top:.4rem}

/* order details */
.ovrow{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;font-size:.88rem;border-bottom:1px solid var(--cloud)}
.ovrow span{color:var(--muted)}.ovrow b{text-align:right}
.ovrow--tot{border-bottom:none;border-top:2px solid var(--line);margin-top:.3rem;padding-top:.7rem;font-size:1rem}
.ovrow--tot b{font-family:var(--hsans)}
.ovh{font-family:var(--hsans);font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-2);margin:1rem 0 .5rem}
.ovitems{list-style:none;display:flex;flex-direction:column;gap:.4rem;background:var(--cloud);border-radius:11px;padding:.7rem .9rem}
.ovitems li{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem}
.ovitems li b{font-family:var(--hsans);white-space:nowrap}
.ovitems small{color:var(--muted-2)}

/* roadmap */
.road__intro{color:var(--muted);font-size:1rem;margin-bottom:1.4rem;max-width:60ch}
.road{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}
.road__col{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.4rem}
.road__h{font-family:var(--hsans);font-size:1rem;display:flex;align-items:center;gap:.5rem;margin-bottom:1.1rem}
.road__h small{font-weight:400;color:var(--muted-2);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.rdot{width:11px;height:11px;border-radius:50%;flex-shrink:0}
.rdot--done{background:#27c08a}.rdot--next{background:var(--yellow-deep)}.rdot--grow{background:#5b8cff}
.road__list{list-style:none;display:flex;flex-direction:column;gap:.75rem}
.road__list li{position:relative;padding-left:1.6rem;font-size:.9rem;line-height:1.4;color:var(--ink)}
.road__list li::before{position:absolute;left:0;top:-1px;font-size:.95rem}
.road__list li.rdone{color:var(--muted)}
.road__list li.rdone::before{content:"✓";color:#27c08a;font-weight:700}
.road__list li.rnext::before{content:"○";color:var(--yellow-deep)}
.road__list li.rgrow::before{content:"◆";color:#5b8cff;font-size:.8rem}
.road__list b{color:var(--ink)}

@keyframes pop{from{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}

/* responsive */
@media(max-width:960px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .stats--3{grid-template-columns:1fr}
  .quicklinks{grid-template-columns:1fr}
  .dash__row,.setgrid,.road{grid-template-columns:1fr}
}
@media(max-width:760px){
  .side{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .3s var(--ease)}
  .side.open{transform:none}
  .side__scrim{display:none;position:fixed;inset:0;background:rgba(14,14,16,.5);z-index:49}
  .side__scrim.on{display:block}
  .topbar__burger{display:flex}
  .content{padding:1.1rem}
  .supgrid{grid-template-columns:1fr}
}
@media(max-width:440px){
  .stats{grid-template-columns:1fr 1fr;gap:.7rem}
  .topbar__act .btn{display:none}
  .emodal__row{grid-template-columns:1fr}
}
