/* VAST // NEXUS — dark, futurist, dinamic */
:root{
  --bg:#05070d; --panel:rgba(10,14,26,.72); --panel2:rgba(14,20,36,.85); --line:rgba(120,160,255,.14); --line2:rgba(120,160,255,.28);
  --txt:#e6edf7; --muted:#7c8aa5; --dim:#55637d;
  --cyan:#22d3ee; --mag:#818cf8; --green:#34d399; --red:#fb7185; --amber:#fbbf24; --blue:#60a5fa; --violet:#8da4c6; --pale:#fde68a;
  --mono:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace; --head:'Rajdhani','Segoe UI',system-ui,sans-serif;
  --r:16px;
  --orb1:34,211,238; --orb2:129,140,248; --orb3:96,165,250;   /* petele din fundal */
  --grid1:120,150,200;                                         /* grila graficelor */
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--txt)}
body{font:14px/1.5 var(--head);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}
#bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.vignette{position:fixed;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(1200px 700px at 15% -10%,rgba(var(--orb1),.10),transparent 60%),
  radial-gradient(900px 600px at 90% 10%,rgba(var(--orb2),.07),transparent 60%),
  linear-gradient(180deg,transparent 60%,var(--bg))}
main,.hud,.alerts{position:relative;z-index:1}
main{max-width:1280px;margin:0 auto;padding:10px 16px 40px}
section{margin:22px 0}
.sec{display:flex;align-items:baseline;gap:12px;margin:0 0 12px;font:700 13px var(--head);letter-spacing:.22em;text-transform:uppercase;color:#a8b8d8}
.sec span{position:relative;padding-left:14px}
.sec span::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;background:var(--cyan);box-shadow:0 0 10px var(--cyan);transform:rotate(45deg)}
.sec small{font:500 12px var(--head);letter-spacing:0;text-transform:none;color:var(--dim)}
.muted{color:var(--muted);font-size:12px}
.mono{font-family:var(--mono)}
.foot{color:var(--dim);font-size:11px;text-align:center;margin-top:30px;letter-spacing:.05em}

/* ── HUD ── */
.hud{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 16px;
  background:linear-gradient(180deg,rgba(5,7,13,.92),rgba(5,7,13,.75));backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px}
.brand b{font:700 20px var(--head);letter-spacing:.14em}
.brand b em{font-style:normal;color:var(--cyan);text-shadow:0 0 12px var(--cyan)}
.brand small{color:var(--dim);font-family:var(--mono);font-size:11px;margin-left:6px}
.logo{width:26px;height:26px;position:relative;display:inline-block}
.logo::before,.logo::after{content:"";position:absolute;inset:0;border:2px solid var(--cyan);transform:rotate(45deg);border-radius:4px;box-shadow:0 0 14px rgba(34,211,238,.6)}
.logo::after{inset:7px;border-color:var(--mag);box-shadow:0 0 10px rgba(129,140,248,.55);animation:spin 6s linear infinite}
.logo i{position:absolute;inset:11px;background:#fff;border-radius:50%;box-shadow:0 0 8px #fff}
@keyframes spin{to{transform:rotate(405deg)}}
.hud-mid{display:flex;align-items:center;gap:8px;flex:1;flex-wrap:wrap}
.hud-btns{display:flex;gap:8px;flex-wrap:wrap}
/* bulina e parte din linia de text (inline-block + nowrap), nu element flex separat:
   ca element flex se rupea pe rândul de deasupra când bara HUD devenea îngustă */
.pill{display:inline-block;padding:4px 11px;border-radius:999px;font:700 11px/1.5 var(--mono);letter-spacing:.08em;
  border:1px solid var(--line2);background:rgba(10,14,26,.6);color:#b8c4dc;
  flex:0 0 auto;white-space:nowrap;min-width:max-content;word-break:keep-all;overflow-wrap:normal}
.pill::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;vertical-align:1px;
  border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.pill.live{color:var(--red);border-color:rgba(251,113,133,.5);animation:pulse 1.6s ease-in-out infinite}
.pill.dry{color:var(--amber)}
.pill.ok{color:var(--green)} .pill.bad{color:var(--red)} .pill.info{color:var(--blue)}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(251,113,133,.35)}50%{box-shadow:0 0 0 6px rgba(251,113,133,0)}}
.ring-wrap{position:relative;width:34px;height:34px;display:inline-grid;place-items:center}
.ring{position:absolute;inset:0;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:3}
.ring-bg{stroke:rgba(120,160,255,.15)}
.ring-fg{stroke:var(--cyan);stroke-linecap:round;stroke-dasharray:94.2;stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;filter:drop-shadow(0 0 4px var(--cyan))}
#ring-txt{font:600 9px var(--mono);color:var(--muted)}
.btn{font:700 13px var(--head);letter-spacing:.06em;padding:8px 14px;border-radius:11px;border:1px solid var(--line2);background:rgba(14,20,36,.8);color:var(--txt);cursor:pointer;transition:.15s}
.btn:hover{border-color:var(--cyan);box-shadow:0 0 16px -4px var(--cyan);transform:translateY(-1px)}
.btn.accent{border-color:rgba(34,211,238,.5);color:var(--cyan)}
.btn.warn{border-color:rgba(251,191,36,.5);color:var(--amber)} .btn.warn:hover{box-shadow:0 0 16px -4px var(--amber);border-color:var(--amber)}
.btn.danger{border-color:rgba(251,113,133,.5);color:var(--red)}
.btn.ghost{background:transparent;color:var(--muted)}
.btn.sm{padding:5px 10px;font-size:12px;border-radius:9px}
.btn:disabled{opacity:.5;cursor:wait;transform:none}

/* ── alerts ── */
.alerts{max-width:1280px;margin:10px auto 0;padding:0 16px;display:flex;flex-direction:column;gap:8px}
.alert{border:1px solid rgba(251,113,133,.45);background:linear-gradient(90deg,rgba(60,14,28,.8),rgba(30,10,20,.6));border-radius:12px;padding:10px 14px;font-size:13px;display:flex;gap:10px;align-items:center}
.alert::before{content:"⚠";color:var(--red);font-size:16px}
.alert.info{border-color:rgba(96,165,250,.4);background:linear-gradient(90deg,rgba(14,30,60,.8),rgba(10,20,40,.6))} .alert.info::before{content:"ℹ";color:var(--blue)}

/* ── panels ── */
.panel{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(10px);
  box-shadow:0 20px 50px -30px #000,inset 0 1px 0 rgba(255,255,255,.04);transition:border-color .2s,transform .2s,box-shadow .2s}
.panel.click{cursor:pointer}
.panel.click:hover{border-color:rgba(34,211,238,.45);transform:translateY(-2px);box-shadow:0 24px 60px -30px rgba(34,211,238,.3),inset 0 1px 0 rgba(255,255,255,.06)}
.panel::before,.panel::after{content:"";position:absolute;width:14px;height:14px;border:1.5px solid rgba(34,211,238,.55);pointer-events:none;opacity:.7}
.panel::before{left:-1px;top:-1px;border-right:0;border-bottom:0;border-radius:var(--r) 0 0 0}
.panel::after{right:-1px;bottom:-1px;border-left:0;border-top:0;border-radius:0 0 var(--r) 0}
.lbl{font:700 10px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.big{font:800 30px/1 var(--mono);letter-spacing:-.02em}
.big small{font-size:13px;color:var(--muted);font-weight:600;margin-left:3px}
.glow-c{color:var(--cyan);text-shadow:0 0 18px rgba(34,211,238,.55)}
.glow-g{color:var(--green);text-shadow:0 0 18px rgba(52,211,153,.55)}
.glow-m{color:var(--blue);text-shadow:0 0 18px rgba(96,165,250,.45)}
.glow-r{color:var(--red);text-shadow:0 0 18px rgba(251,113,133,.55)}
.glow-a{color:var(--amber);text-shadow:0 0 18px rgba(251,191,36,.55)}
.num.bump{animation:bump .6s ease}
@keyframes bump{0%{filter:brightness(1.8)}100%{filter:brightness(1)}}

/* ── hero ── */
.hero{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.tile{padding:14px 16px;min-height:112px;display:flex;flex-direction:column;justify-content:space-between;gap:8px}
.t-earn{grid-column:span 5} .t-day{grid-column:span 2} .t-now{grid-column:span 2} .t-fleet{grid-column:span 2} .t-bal{grid-column:span 1}
.tile canvas{width:100%;height:46px;display:block}
.tile .sub{display:flex;gap:10px;flex-wrap:wrap;font:600 11px var(--mono);color:var(--muted)}
.tile .sub b{color:var(--txt)}
.gauge{display:flex;align-items:center;gap:12px}
.gauge svg{width:64px;height:64px;transform:rotate(-90deg);flex:none}
.gauge circle{fill:none;stroke-width:6}
.gauge .g-bg{stroke:rgba(120,160,255,.12)}
.gauge .g-fg{stroke-linecap:round;transition:stroke-dasharray 1s ease}
.gauge .g-fg.full{stroke:var(--green);filter:drop-shadow(0 0 6px var(--green))}
.gauge .g-fg.mid{stroke:var(--pale);filter:drop-shadow(0 0 6px rgba(253,230,138,.6))}
.gauge .g-bg.mid{stroke:rgba(253,230,138,.16)}
.gauge .g-fg.bad{stroke:var(--red)}
.gauge .g-bg.bad{stroke:var(--red);opacity:.85;filter:drop-shadow(0 0 6px rgba(251,113,133,.5));animation:pulse 1.8s ease-in-out infinite}
.occ-t.full{color:var(--green)} .occ-t.mid{color:var(--pale)} .occ-t.bad{color:var(--red);font-weight:700}

/* ── fleet ── */
.fleet{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px}
.mcard{padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.mcard.has-free{border-color:rgba(251,113,133,.35)}
.mhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mhead b{font:700 18px var(--head);letter-spacing:.04em}
.mhead .id{font:600 11px var(--mono);color:var(--dim)}
.badge{font:700 10px var(--mono);letter-spacing:.1em;padding:3px 8px;border-radius:7px;border:1px solid}
.badge.gpu{color:var(--blue);border-color:rgba(96,165,250,.4);background:rgba(96,165,250,.08)}
.badge.v{color:var(--green);border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.08)}
.badge.u{color:var(--amber);border-color:rgba(251,191,36,.4);background:rgba(251,191,36,.08)}
.badge.off{color:var(--red);border-color:rgba(251,113,133,.4)}
.badge.dis{color:var(--dim);border-color:var(--line)}
.badge.stale{color:var(--amber);border-color:rgba(251,191,36,.45);background:rgba(251,191,36,.08)}
.status{margin-left:auto;font:600 11px var(--mono);color:var(--muted);display:flex;align-items:center;gap:6px}
.status i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
.status.off i{background:var(--red);box-shadow:0 0 8px var(--red)}
.cells{display:flex;gap:8px;flex-wrap:wrap}
/* 18.10: cardurile de pe un rând au aceeași înălțime; sub celule totul coboară jos, aliniat cu cardul care are mai multe rânduri de plăci */
.mcard > .mstats{margin-top:auto}
.cell{position:relative;width:74px;height:64px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);display:grid;place-items:center;font:800 12px var(--mono);
  background:rgba(52,211,153,.14);color:var(--green);transition:.3s}
.cell::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 50%)}
.cell span{position:relative;z-index:1}
.cell small{position:relative;z-index:1;font-size:9px;color:rgba(230,237,247,.6);font-weight:600;margin-top:-4px}
.cell .tmp{position:relative;z-index:1;font-style:normal;font-size:10px;font-weight:800;margin-top:1px;letter-spacing:.02em}
.cell .tmp.approx{opacity:.7} .cell .tmp.approx::after{content:"*";font-size:8px;vertical-align:super}
.tc-cool{color:#7dd3fc} .tc-ok{color:var(--green)} .tc-warm{color:var(--amber)} .tc-hot{color:var(--red)}
.cell.busy{box-shadow:inset 0 0 0 2px rgba(52,211,153,.6)}
.cell.busy.bid{box-shadow:inset 0 0 0 2px rgba(251,191,36,.75)} .cell.bid small{color:rgba(251,191,36,.95)}
.cell.free{background:rgba(251,113,133,.2);color:#fff;animation:freepulse 1.8s ease-in-out infinite}
@keyframes freepulse{0%,100%{background:rgba(251,113,133,.18)}50%{background:rgba(251,113,133,.42)}}
.mstats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ms{background:rgba(5,8,16,.55);border:1px solid var(--line);border-radius:11px;padding:8px 10px}
.ms .lbl{font-size:9px} .ms b{display:block;font:800 17px var(--mono);margin-top:2px;white-space:nowrap}
.ms b small.u{font-size:11px;font-weight:600;color:var(--muted)}
.ms b small.u2{font-size:10px;font-weight:600;color:var(--dim);margin-left:5px}
.ms b small.u2::before{content:"· "}
.decide{background:rgba(5,8,16,.55);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.dp{font:800 20px var(--mono);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dp .arr{color:var(--dim);font-size:16px}
.dp .ren{font:600 11px var(--mono);color:var(--muted)}
.act{font:800 10px var(--mono);letter-spacing:.14em;padding:3px 9px;border-radius:999px;border:1px solid;margin-left:auto}
.act-raise{color:var(--green);border-color:var(--green)} .act-idle,.act-drop,.act-floor,.act-force{color:var(--red);border-color:var(--red)}
.act-hold{color:var(--muted);border-color:var(--muted)} .act-first,.act-second{color:var(--blue);border-color:var(--blue)}
.reason{margin:6px 0 0;color:#aab6cc;font-size:12.5px;line-height:1.45}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.chip{font:600 11px var(--mono);padding:4px 9px;border-radius:9px;border:1px solid var(--line);background:rgba(10,14,26,.6);color:#b8c4dc}
.chip.on{border-color:rgba(34,211,238,.6);color:var(--cyan);box-shadow:0 0 12px -4px var(--cyan)}
.chip b{color:var(--txt)}
.mfoot{display:flex;gap:14px;flex-wrap:wrap;font:600 11px var(--mono);color:var(--muted);align-items:center}
.mfoot b{color:var(--txt)}
.mfoot .warn{color:var(--red)}
/* bara de disc: ce e OCUPAT acum (clienți + imagini), restul = liber. Culori din temă. */
.diskbar{flex:1;min-width:110px;height:7px;border-radius:4px;overflow:hidden;display:flex;
  background:linear-gradient(90deg,rgba(34,211,238,.10),rgba(34,211,238,.04));
  box-shadow:inset 0 0 0 1px rgba(34,211,238,.18)}
.diskbar i{display:block;height:100%;transition:width .5s ease}
.diskbar .d-cli{background:linear-gradient(90deg,var(--cyan),#2bb6d6);box-shadow:0 0 8px rgba(34,211,238,.6)}
.diskbar .d-img{background:rgba(148,163,210,.42)}
.diskbar.dsk-warn{box-shadow:inset 0 0 0 1px rgba(251,191,36,.5)}
.diskbar.dsk-crit{box-shadow:inset 0 0 0 1px rgba(251,113,133,.6)}
.dsk-ico{display:inline-flex;align-items:center;color:var(--cyan);cursor:help}
.dic{width:16px;height:14px;display:block;overflow:visible;filter:drop-shadow(0 0 5px rgba(34,211,238,.45))}
.dic .dbody{fill:currentColor;fill-opacity:.13;stroke:currentColor;stroke-width:1.25;stroke-linejoin:round}
.dic .dtop{fill:currentColor;fill-opacity:.22;stroke:currentColor;stroke-width:1.25}
.dic .dl{fill:none;stroke:currentColor;stroke-width:1.1;opacity:.65}
.dic .dd{fill:var(--green);filter:drop-shadow(0 0 3px var(--green))}
.dsk-txt{font-variant-numeric:tabular-nums;cursor:help}
.mtap{margin-left:auto;color:var(--cyan);font:700 11px var(--head);letter-spacing:.1em}

/* ── market ── */
.market{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.mk{padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.mk .top{display:flex;align-items:center;gap:8px}
.mk .top .lbl{margin-left:auto}
.mk canvas{width:100%;height:120px;display:block}
.mk .row{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.mk .row .big{font-size:26px}
.mk .kv{font:600 11px var(--mono);color:var(--muted)} .mk .kv b{color:var(--txt)}
.mk.demand canvas{height:100px}
.mk .legend{display:flex;gap:12px;font:600 10px var(--mono);color:var(--muted)}
.legend i{display:inline-block;width:14px;height:0;border-top:2px solid;vertical-align:middle;margin-right:5px}

/* ── radar ── */
.radar-add{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.radar-add input{font:600 13px var(--mono);padding:9px 12px;border-radius:11px;border:1px solid var(--line2);background:rgba(10,14,26,.8);color:var(--txt);width:220px;outline:none}
.radar-add input:focus{border-color:var(--cyan);box-shadow:0 0 14px -4px var(--cyan)}
.radar{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.rd{padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.rd .top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rd .top b{font:700 16px var(--head)} .rd .top .id{font:600 11px var(--mono);color:var(--dim)}
.rd .x{margin-left:auto}
.rcells{display:flex;gap:4px;flex-wrap:wrap;align-items:center;min-height:22px}
.rd .kv{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;font:600 11px var(--mono);color:var(--muted)}
.rd .kv b{display:block;color:var(--txt);font-size:14px}
.specs{display:flex;flex-wrap:wrap;gap:3px 10px;font:600 10.5px var(--mono);color:var(--dim);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 0}
.specs span{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.rev{font:600 11px var(--mono);color:var(--muted);display:flex;flex-direction:column;gap:3px}
.rev span.rent{color:var(--green)} .rev span.free{color:var(--red)}
.rev span.unlisted,.rev span.listed{color:var(--amber)}
.ev.unlisted,.ev.listed{color:#f5d999;background:rgba(251,191,36,.07);border-left:3px solid var(--amber)}
.empty{color:var(--dim);font-size:13px;padding:18px;border:1px dashed var(--line2);border-radius:12px;text-align:center}
.x{background:transparent;border:0;color:var(--muted);font-size:16px;cursor:pointer;padding:4px 8px;border-radius:8px}
.x:hover{color:#fff;background:rgba(255,255,255,.08)}

/* ── modal ── */
.modal{position:fixed;inset:0;z-index:20;background:rgba(3,5,10,.78);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:14px}
.modal[hidden]{display:none}
.modal-box{width:min(1180px,100%);max-height:100%;overflow:auto;background:var(--panel2);border:1px solid var(--line2);border-radius:18px;padding:16px 18px;box-shadow:0 40px 100px -30px #000,0 0 60px -30px var(--cyan);animation:pop .22s ease}
@keyframes pop{from{transform:scale(.97);opacity:0}to{transform:scale(1);opacity:1}}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.modal-head b{font:700 18px var(--head);letter-spacing:.06em}
/* 24.10: setările mașinii ca fereastră — ⚙ pe card și în antetul Detaliilor; fereastra stă peste Detalii */
.modal-act{display:flex;align-items:center;gap:8px;margin-left:auto}
.mset-btn{display:inline-flex;align-items:center;gap:6px;width:auto;padding:0 12px;font:700 12px var(--head);letter-spacing:.06em}
.mset-btn span{white-space:nowrap}
.mset-btn[hidden]{display:none}   /* display:inline-flex bătea atributul hidden: apărea și la Venit / Piață */
.mset{z-index:28}
.mset .modal-box{box-shadow:0 40px 100px -30px #000,0 0 80px -30px var(--amber)}
.mset-dirty{color:var(--amber);font-size:14px;line-height:1;text-shadow:0 0 10px var(--amber)}
.mh-r{margin-left:auto;display:inline-flex;align-items:center;gap:8px;flex:none}   /* 24.10: „listed” + Manage rămân împreună, pe aceeași linie, și pe telefon */
.mh-r .status{margin-left:0}
.mhead .mset-gear{all:unset;box-sizing:border-box;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;cursor:pointer;color:var(--muted);
  border:1px solid transparent;transition:.15s}
.mhead .mset-gear svg{width:16px;height:16px}
.mhead .mset-gear:hover,.mhead .mset-gear:focus-visible{color:var(--cyan);border-color:color-mix(in srgb,var(--cyan) 50%,transparent);background:color-mix(in srgb,var(--cyan) 10%,transparent);outline:none}
.mcard.click .mset-gear{cursor:pointer}
@media (max-width:600px){ .mset-btn span{display:none} .mset-btn{padding:0;min-width:44px} }
.modal-body{display:flex;flex-direction:column;gap:12px}
.ranges{display:flex;gap:4px;flex-wrap:wrap;background:rgba(5,8,16,.7);border:1px solid var(--line);border-radius:11px;padding:4px;width:max-content;max-width:100%}
.ranges a{font:700 12px var(--mono);padding:5px 11px;border-radius:8px;color:#aab6cc;cursor:pointer;user-select:none}
.ranges a:hover{background:rgba(255,255,255,.06)} .ranges a.on{background:linear-gradient(180deg,rgba(34,211,238,.35),rgba(34,211,238,.15));color:#fff;box-shadow:inset 0 0 0 1px rgba(34,211,238,.5)}
.ctl-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.nm{display:inline-flex;align-items:baseline;gap:9px}
.nm b{font:700 17px var(--head);letter-spacing:.04em}
.nm-in{font:700 15px var(--head);padding:7px 11px;border-radius:10px;border:1px solid var(--cyan);background:rgba(10,14,26,.9);color:var(--txt);outline:none;min-width:240px;box-shadow:0 0 14px -5px var(--cyan)}
.stats{display:flex;gap:8px;flex-wrap:wrap}
.st{background:rgba(5,8,16,.6);border:1px solid var(--line);border-radius:11px;padding:6px 12px;font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.st b{display:block;font:800 17px var(--mono);letter-spacing:0;color:var(--txt);text-transform:none;margin-top:1px}
.chart-wrap{position:relative;border:1px solid rgba(140,170,220,.08);border-radius:16px;background:radial-gradient(120% 90% at 50% 0%,rgba(34,211,238,.045),transparent 60%),linear-gradient(180deg,rgba(10,15,28,.6),rgba(5,8,16,.45));padding:10px 8px 6px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.chart-wrap canvas.ch-in{animation:chIn .9s cubic-bezier(.22,.8,.2,1)}
@keyframes chIn{from{clip-path:inset(0 100% 0 0);opacity:.2}to{clip-path:inset(0 0 0 0);opacity:1}}
@media (prefers-reduced-motion:reduce){.chart-wrap canvas.ch-in{animation:none}}
.chart-wrap canvas{width:100%;height:360px;display:block;touch-action:pan-y}
.chart-wrap.sm canvas{height:220px}
.chart-wrap.mk-util{margin-top:2px} .mk-cap{font:600 11px 'JetBrains Mono',monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:10px 2px 4px} .chart-wrap.mk-util canvas{height:150px}
.tip{position:absolute;top:10px;left:10px;pointer-events:none;background:rgba(12,18,32,.72);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);border:1px solid rgba(160,190,240,.12);border-radius:12px;padding:8px 12px;font:500 12px/1.65 var(--mono);color:#b8c4d8;white-space:nowrap;z-index:2;box-shadow:0 12px 32px -12px rgba(0,0,0,.8);transition:left .08s linear}
.tip i{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 7px 1px 0;vertical-align:middle}
.tip b{color:var(--txt);font-weight:600}
.tip[hidden]{display:none}
.tip .h{color:var(--muted);font-size:11px}
.legend{display:flex;gap:14px;flex-wrap:wrap;font:600 11px var(--mono);color:var(--muted)}
.events{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:rgba(5,8,16,.55)}
.ev{display:flex;gap:10px;align-items:center;padding:6px 12px;border-bottom:1px solid rgba(120,160,255,.07);font:600 12px var(--mono)}
.ev .t{color:var(--dim);min-width:110px}
.ev.rent{color:#bdf0d6;background:rgba(52,211,153,.07)} .ev.free{color:#ffc4cf;background:rgba(251,113,133,.07)}
.ev.up{color:#bdf0d6} .ev.down{color:#ffc4cf}
.ev .ar{font-size:15px}
table.tbl{width:100%;border-collapse:collapse;font:600 12px var(--mono)}
.tbl th{text-align:left;font:700 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line)}
.tbl td{padding:7px 8px;border-bottom:1px solid rgba(120,160,255,.07)}
.tbl tr.me td{background:rgba(34,211,238,.12);color:#fff;font-weight:800}
.tbl tr.free td{color:#9fe8c0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* ATENȚIE: numele acestei clase NU trebuie să fie „info" — se ciocnea cu `.pill.info`
   din HUD și transforma pastila AUTO într-o grilă de 140px (bulina sus, textul dedesubt). */
.infogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.infogrid div{background:rgba(5,8,16,.55);border:1px solid var(--line);border-radius:10px;padding:7px 10px;font:600 11px var(--mono);color:var(--muted)}
.infogrid div b{display:block;color:var(--txt);font-size:15px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.infogrid div .muted{display:block;font-size:10px}
h3.sub{margin:6px 0 0;font:700 12px var(--head);letter-spacing:.18em;text-transform:uppercase;color:#a8b8d8}

/* ── drawer ── */
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);z-index:25;background:rgba(8,11,20,.97);border-left:1px solid var(--line2);box-shadow:-30px 0 80px -30px #000;display:flex;flex-direction:column;animation:slide .22s ease}
.drawer[hidden]{display:none}
@keyframes slide{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}
.drawer-head b{font:700 18px var(--head);letter-spacing:.08em}
.drawer-body{padding:14px 18px 40px;overflow:auto;display:flex;flex-direction:column;gap:14px}
/* Într-un flex pe coloană, copiii se MICȘOREAZĂ implicit când conținutul de dedesubt e înalt.
   Caruselul de mașini ajungea astfel strivit la câțiva pixeli (se vedea ~10% din carduri). */
.drawer-body>*{flex:0 0 auto;min-height:auto}
.fs{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:rgba(5,8,16,.5)}
/* 24.10: un <fieldset> are implicit min-inline-size:min-content — pe telefon se lățea peste ecran (cadranul) */
.fs{min-inline-size:0;min-width:0;max-width:100%}
@media (max-width:700px){ .am,.am-stage,.am-dial,.am-sel,.am-body,.am-path{min-width:0;max-width:100%} .am-sel{flex-wrap:wrap;justify-content:center;row-gap:8px} }
/* 24.10: pe telefon întâi ceasul și prețul la cerere, apoi bara/limitele cu Salvează la final (nu mai derulezi înapoi) */
@media (max-width:700px){ .mpanel .mp-col:nth-child(2){order:-1} }
.fs legend{font:700 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);padding:0 6px}
.fld{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid rgba(120,160,255,.06)}
.fld:last-child{border-bottom:0}
.fld label{font:600 13px var(--head);color:#c8d2e4;display:flex;flex-direction:column}
.fld label small{color:var(--dim);font-size:11px;font-weight:500}
.fld input[type=number],.fld input[inputmode=decimal],.fld select{font:600 13px var(--mono);width:120px;padding:6px 9px;border-radius:9px;border:1px solid var(--line2);background:rgba(10,14,26,.9);color:var(--txt);outline:none}
.fld input:focus,.fld select:focus{border-color:var(--cyan)}
.fld input::placeholder{color:var(--dim)}
/* 17.10: camp de limita invalid — Salvarea e blocata pana il corectezi sau il golesti */
.fld input.bad,.fld input.bad:focus{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
/* 17.10: <a> fara href devenite focusabile — conturul se vede la tastatura */
a[role=button]:focus-visible,article.click:focus-visible,.panel.click:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.sw{position:relative;width:46px;height:26px;flex:none}
.sw input{opacity:0;width:0;height:0;position:absolute}
.sw i{position:absolute;inset:0;border-radius:999px;background:rgba(120,160,255,.18);transition:.2s;cursor:pointer}
.sw i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.sw input:checked+i{background:var(--green);box-shadow:0 0 12px rgba(52,211,153,.5)} .sw input:checked+i::after{transform:translateX(20px)}
.sw.red input:checked+i{background:var(--red);box-shadow:0 0 12px rgba(251,113,133,.5)}
.seg{display:inline-flex;gap:3px;background:rgba(5,8,16,.7);border:1px solid var(--line);border-radius:11px;padding:3px}
.seg a{font:700 12px var(--mono);padding:6px 12px;border-radius:8px;color:#aab6cc;cursor:pointer;user-select:none}
.seg a.on{background:linear-gradient(180deg,rgba(34,211,238,.35),rgba(34,211,238,.15));color:#fff;box-shadow:inset 0 0 0 1px rgba(34,211,238,.5)}
.seg a.on.red{background:linear-gradient(180deg,rgba(251,113,133,.4),rgba(251,113,133,.15));box-shadow:inset 0 0 0 1px rgba(251,113,133,.6)}
.tiers{display:grid;grid-template-columns:auto 1fr auto 1fr auto;gap:6px 8px;align-items:center;font:600 12px var(--mono);color:var(--muted)}
.tiers input{width:80px}
.note{font-size:12px;color:#c9b27a;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.3);border-radius:10px;padding:8px 10px;line-height:1.45}
.savebar{position:sticky;bottom:0;background:rgba(8,11,20,.95);padding:12px 0 0;display:flex;gap:10px;align-items:center;border-top:1px solid var(--line)}
pre.log{font:12px/1.5 var(--mono);white-space:pre-wrap;color:#aab6cc;background:rgba(5,8,16,.7);border:1px solid var(--line);border-radius:12px;padding:12px;margin:0;max-height:70vh;overflow:auto}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:40;background:rgba(10,14,26,.96);border:1px solid var(--line2);border-radius:12px;padding:10px 16px;font:600 13px var(--mono);box-shadow:0 20px 50px -20px #000}
.toast[hidden]{display:none}
.toast.ok{border-color:var(--green);color:var(--green)} .toast.err{border-color:var(--red);color:var(--red)}

/* ═══════════ TELEFON (optimizat pentru iPhone 14 Pro Max: 430×932, Safari/standalone) ═══════════ */

/* zone sigure: Dynamic Island sus, bara de gesturi jos, colțurile rotunjite lateral */
@supports (padding:env(safe-area-inset-top)){
  .hud{padding-top:max(10px,env(safe-area-inset-top));
       padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  main,.alerts{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  main{padding-bottom:calc(40px + env(safe-area-inset-bottom))}
  .drawer-body{padding-bottom:calc(40px + env(safe-area-inset-bottom))}
  .modal-box{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .toast{bottom:calc(24px + env(safe-area-inset-bottom))}
}

@media (max-width:700px){
  /* iOS compune `backdrop-filter` foarte scump peste canvasul animat — pe telefon folosim
     fundaluri opace. Era cauza plauzibilă pentru „pagina s-a închis" la deschiderea unui popup. */
  .panel{backdrop-filter:none;background:#0b0f1a}
  .modal{backdrop-filter:none;background:rgba(3,5,10,.94)}
  .hud{backdrop-filter:none;background:#070a11}
  /* iOS: 100vh sare când apar/dispar barele Safari → dvh */
  body{min-height:100dvh;-webkit-text-size-adjust:100%}
  *{-webkit-tap-highlight-color:rgba(34,211,238,.18)}
  main{padding:8px 16px 40px}
  section{margin:18px 0}
  .sec{font-size:12px;letter-spacing:.16em} .sec small{display:none}

  /* HUD pe două rânduri: identitate sus, stare + acțiuni dedesubt */
  .hud{gap:8px;padding:10px 16px 9px}
  .brand{flex:1 1 100%;gap:8px} .brand b{font-size:18px} .brand small{font-size:10px;margin-left:auto}
  .logo{width:22px;height:22px} .logo::after{inset:6px} .logo i{inset:9px}
  .hud-mid{width:100%;gap:6px;justify-content:flex-start}
  .pill{padding:5px 10px;font-size:10px;letter-spacing:.04em}
  .ring-wrap{margin-left:auto}
  .hud-btns{width:100%;gap:6px}
  .hud-btns .btn{flex:1;min-height:42px;padding:9px 6px;font-size:12px;letter-spacing:.02em;display:flex;align-items:center;justify-content:center}

  .alert{font-size:12.5px;padding:9px 12px;align-items:flex-start}

  /* hero: 2 pe rând, venitul lat */
  .hero{grid-template-columns:repeat(2,1fr);gap:9px}
  .t-earn{grid-column:span 2} .t-day,.t-now,.t-fleet{grid-column:span 1} .t-bal{grid-column:span 2}
  .tile{min-height:0;padding:12px 13px;gap:6px} .big{font-size:24px} .t-earn .big{font-size:28px}
  .t-bal{flex-direction:row;align-items:center;justify-content:space-between}
  .tile canvas{height:40px}
  .gauge svg{width:54px;height:54px} .gauge{gap:9px}

  /* flotă: un card pe ecran, celule GPU mai mici */
  .fleet{grid-template-columns:1fr;gap:11px}
  .mcard{padding:13px 13px;gap:10px}
  .mhead b{font-size:16px} .mhead .id{font-size:10px} .status{width:100%;margin-left:0;font-size:10px}
  .cells{gap:6px} .cell{width:calc(25% - 5px);min-width:62px;height:58px;font-size:12px}
  .cell small{font-size:8px} .cell .tmp{font-size:9px}
  .mstats{grid-template-columns:repeat(2,1fr);gap:7px} .ms b{font-size:15px}
  .dp{font-size:17px;gap:6px} .act{margin-left:0} .reason{font-size:12px}
  .mfoot{font-size:10px;gap:9px} .diskbar{min-width:90px}

  /* piață + radar: o coloană */
  .market,.radar{grid-template-columns:1fr;gap:11px}
  .mk canvas{height:104px} .mk .row .big{font-size:22px}
  .radar-add{gap:7px} .radar-add input{width:100%;font-size:16px;min-height:44px}   /* 16px = iOS nu mai zoomează */
  .rd .kv{grid-template-columns:repeat(2,1fr)}
  .specs{font-size:10px;gap:3px 8px}

  /* popup = foaie pe tot ecranul, cu antet lipit sus */
  .modal{padding:0;align-items:stretch}
  .modal-box{width:100%;max-height:100dvh;height:100dvh;border-radius:0;border:0;padding:12px 14px;
    padding-top:max(12px,env(safe-area-inset-top));-webkit-overflow-scrolling:touch}
  .modal-head{position:sticky;top:0;z-index:3;background:var(--panel2);margin:0 -14px 10px;padding:4px 14px 10px;
    border-bottom:1px solid var(--line)}
  .modal-head b{font-size:15px;line-height:1.25}
  .modal-head .x{min-width:44px;min-height:44px}
  .chart-wrap{padding:4px} .chart-wrap canvas{height:300px} .chart-wrap.sm canvas{height:200px}
  .ranges{width:100%;justify-content:space-between} .ranges a{padding:8px 10px;flex:1;text-align:center}
  .st{padding:5px 10px;font-size:9px} .st b{font-size:15px}
  #es .st{flex:1 1 30%;min-width:0} #es .st b{font-size:14px;overflow-wrap:anywhere}
  .grid2{grid-template-columns:1fr;gap:10px}
  .infogrid{grid-template-columns:repeat(2,1fr)}
  .events{max-height:none}
  .ev{flex-wrap:nowrap;gap:8px;padding:7px 10px;font-size:11.5px}
  .ev .t{min-width:78px} .ev .t .hm{font-size:12px} .ev .t .d{font-size:10px}
  .gic{width:16px;height:11px} .gpus{gap:2px}
  .tbl{font-size:11px} .tbl td,.tbl th{padding:6px 5px}
  .events:has(.tbl){overflow-x:auto}
  .tip{font-size:11px;padding:6px 8px;max-width:78vw;white-space:normal}

  /* sertar de setări = tot ecranul */
  .drawer{width:100%;height:100dvh}
  .drawer-head{padding-top:max(14px,env(safe-area-inset-top))}
  .fld{flex-wrap:wrap;row-gap:6px}
  .fld label{flex:1 1 60%} .fld input[type=number],.fld input[inputmode=decimal],.fld select{width:112px;font-size:16px;min-height:40px}
  .nm-in{min-width:0;width:100%;font-size:16px}
  .savebar{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
  .savebar .btn{flex:1;min-height:46px}
  .btn.sm{min-height:36px}
  .x{min-width:40px;min-height:40px}
  .toast{left:12px;right:12px;transform:none;text-align:center}
  .foot{font-size:10px}
}

/* telefon în peisaj (932×430): antet comprimat, grafice mai scunde */
@media (max-height:500px) and (orientation:landscape){
  .hud{position:static}
  .hero{grid-template-columns:repeat(4,1fr)} .t-earn{grid-column:span 2}
  .fleet{grid-template-columns:repeat(2,1fr)}
  .modal-box{height:100dvh} .chart-wrap canvas{height:210px} .chart-wrap.mk-util canvas{height:110px}
}

/* ecranele foarte înguste (sub 380px) */
@media (max-width:380px){
  .cell{width:calc(50% - 4px)} .hero{gap:7px} .big{font-size:21px}
}

/* fundalul animat consumă baterie degeaba dacă utilizatorul a cerut mai puțină mișcare */
@media (prefers-reduced-motion:reduce){
  #bg{display:none}
  .pill.live,.gauge .g-bg.bad,.cell.free{animation:none}
  .panel.click:hover{transform:none}
}



/* ── iconiță GPU (verde = închiriat, roșu = liber) ── */
.gpus{display:inline-flex;gap:3px;flex-wrap:wrap;align-items:center;vertical-align:middle}
.gslot{position:relative;display:inline-grid;place-items:center;line-height:0;padding:1.5px;border-radius:5px;transition:.2s}
.gic{width:19px;height:13px;display:block;overflow:visible}
.gpus.sm .gic{width:15px;height:10px}
.gic .gb{fill:currentColor;fill-opacity:.17;stroke:currentColor;stroke-width:1.2}
.gic .gf{fill:none;stroke:currentColor;stroke-width:1.1;opacity:.85}
.gic .gh{fill:currentColor}
.gic .gp{stroke:currentColor;stroke-width:1.3;opacity:.6;stroke-linecap:round}
.gslot.on{color:var(--green);filter:drop-shadow(0 0 5px rgba(52,211,153,.45))}
.gslot.on .gf{animation:fanspin 2.4s linear infinite;transform-origin:center;transform-box:fill-box}
.gslot.off{color:var(--red);filter:drop-shadow(0 0 5px rgba(251,113,133,.4));opacity:.95}
/* În listele de evenimente pot fi sute de iconițe: fără animație și fără filtre acolo,
   altfel iOS rămâne fără memorie și închide pagina („A problem repeatedly occurred"). */
.events .gslot{filter:none}
.events .gslot .gf{animation:none}
.gslot.chg{background:rgba(253,224,71,.16);box-shadow:0 0 0 1.2px var(--amber),0 0 9px -2px var(--amber)}
@keyframes fanspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.gslot.on .gf{animation:none}}

/* ── rândul de eveniment: timp | plăci | text ── */
.ev{align-items:center}
.ev .t{min-width:104px;flex:none;cursor:help;display:grid;grid-template-columns:auto auto;gap:0 7px;align-items:baseline;line-height:1.2}
.ev .t .d{grid-row:1;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.ev .t .hm{grid-row:1;font-size:13px;font-weight:800;color:var(--txt)}
.ev .t .rel{grid-row:2;grid-column:1/3;font-style:normal;font-size:9.5px;color:var(--dim);font-weight:600}
.ev .tx{flex:1;min-width:0}
.ev .tx b{font-weight:800}
.ev .wch{color:var(--amber);font-weight:800;font-size:13px;letter-spacing:.04em}
.ev.rent{border-left:3px solid var(--green)} .ev.free{border-left:3px solid var(--red)}
.ev.up{border-left:3px solid rgba(52,211,153,.4)} .ev.down{border-left:3px solid rgba(251,113,133,.4)}
.rev .rev-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){
  /* telefon: timpul într-o coloană îngustă la stânga (zi / oră / acum X), plăcile + textul în dreapta */
  .ev{display:grid;grid-template-columns:78px minmax(0,1fr);column-gap:18px;row-gap:4px;align-items:center;padding:8px 14px 8px 16px}
  .ev .t{grid-row:span 2;align-self:center}
  .ev > .gpus{justify-self:start;flex-wrap:wrap}
  .ev .t{min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.15}
  .ev .t .d{font-size:9.5px;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ev .t .hm{font-size:14px}
  .ev .t .rel{font-size:9px;white-space:nowrap}
  .ev .tx{grid-column:2;line-height:1.3}
  .ev:not(:has(> .gpus)) .tx{grid-row:span 2}
  .ev > .muted{grid-column:1/-1}
  .gic{width:17px;height:12px}
}

.more{display:block;width:100%;margin:8px 0 2px;border-radius:0 0 11px 11px;text-align:center;letter-spacing:.04em}
#mev{max-height:none}
/* 23.10: pe telefon rândurile din afara ecranului nu se randează (content-visibility) — lista lungă nu mai apasă pe browser */
@media (max-width:640px){ #mev > .ev{content-visibility:auto;contain-intrinsic-size:auto 46px} }

.src-ok{color:var(--green);font-size:9px!important;letter-spacing:.08em;display:inline-block!important;margin-right:4px}
.src-approx{color:var(--amber);font-size:9px!important;letter-spacing:.08em;display:inline-block!important;margin-right:4px}
.note.ok-note{color:#a7e8c8;background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.3)}

.dsk-txt.dsk-ok,.dsk-txt.dsk-over{color:var(--muted)} .dsk-txt.dsk-warn{color:var(--amber)} .dsk-txt.dsk-crit{color:var(--red);font-weight:800}

.prev{font:600 11.5px/1.6 var(--mono);color:#9fb0c8;background:rgba(34,211,238,.07);border:1px solid rgba(34,211,238,.22);
  border-radius:10px;padding:8px 11px;margin:2px 0 8px}
.prev b{color:var(--cyan)}
.prev div+div{margin-top:4px}

/* ── Setări: carusel de mașini + panou animat (fiecare mașină, setările ei) ── */
.fs.master{border-color:rgba(251,113,133,.35);background:linear-gradient(180deg,rgba(60,14,28,.35),rgba(10,14,26,.5))}



.mc-top{display:flex;align-items:center;justify-content:space-between;gap:6px}
.mc-top b{font:700 15px var(--head);letter-spacing:.03em}
.mc-top .dot{width:9px;height:9px;border-radius:50%;flex:none}
.mc-top .dot.full{background:var(--green);box-shadow:0 0 8px var(--green)}
.mc-top .dot.mid{background:var(--pale);box-shadow:0 0 8px var(--pale)}
.mc-top .dot.bad{background:var(--red);box-shadow:0 0 8px var(--red)}
.mc-sub{font:600 10px var(--mono);color:var(--dim)}
.mc-kv{font:800 13px var(--mono);color:var(--txt)} .mc-kv small{font-size:9px;color:var(--muted);font-weight:600}
.mc-kv.on{font-size:9.5px;color:var(--green);letter-spacing:.1em} .mc-kv.off{font-size:9.5px;color:var(--amber);letter-spacing:.1em}
.mpanel{display:flex;flex-direction:column;gap:12px}
.mp-head{display:flex;flex-direction:column;gap:2px;padding:0 2px 2px}
.mp-head b{font:700 19px var(--head);letter-spacing:.04em;color:var(--cyan);text-shadow:0 0 16px rgba(34,211,238,.4)}
.mp-head .muted{font-size:11px}
@keyframes slideInR{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes slideInL{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mpanel{animation:none!important}}

.mp-px{font:600 12px var(--mono);color:var(--muted);margin-top:3px}
.mp-px b{color:var(--txt);font-size:13px} .mp-px i{font-style:normal;color:var(--dim);font-size:11px}
.unit{font:700 9px var(--mono);letter-spacing:.1em;color:var(--cyan);background:rgba(34,211,238,.12);
  border:1px solid rgba(34,211,238,.3);border-radius:5px;padding:1px 5px;margin-left:6px;vertical-align:1px}
.prev i.muted{font-style:normal}

.bwline{font:600 11.5px/1.5 var(--mono);color:#9fb0c8;background:rgba(96,165,250,.07);
  border:1px solid rgba(96,165,250,.22);border-radius:10px;padding:7px 11px;margin-top:8px;cursor:help;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:700px){.bwline{font-size:10px;padding:6px 9px}}
.bwline b{color:var(--blue)}


/* ═══════════════════ TEME ═══════════════════
   Fiecare temă rescrie DOAR variabilele; restul foii rămâne neschimbat.
   Graficele își citesc culorile din aceleași variabile, deci se schimbă și ele. */

/* MONO — fără culoare, doar lumină. Starea se citește din strălucire și din iconițe. */
:root[data-theme="mono"]{
  --bg:#0a0a0b; --panel:rgba(23,23,25,.74); --panel2:rgba(30,30,33,.92);
  --line:rgba(255,255,255,.10); --line2:rgba(255,255,255,.22);
  --txt:#ededf0; --muted:#8e8e95; --dim:#5a5a60;
  --cyan:#f4f4f6; --mag:#c9c9d0; --green:#dcdce2; --red:#ffffff; --amber:#b4b4bb;
  --blue:#a8a8b0; --violet:#6f6f78; --pale:#d8d8de;
  --orb1:255,255,255; --orb2:160,160,170; --orb3:110,110,120; --grid1:150,150,160;
}
:root[data-theme="mono"] .pill.live{animation:none;box-shadow:0 0 0 1px #fff inset}
:root[data-theme="mono"] .alert{border-color:rgba(255,255,255,.45);background:linear-gradient(90deg,rgba(255,255,255,.08),transparent)}

/* ICE — albastru rece, contrast ridicat */
:root[data-theme="ice"]{
  --bg:#060b14; --panel:rgba(14,24,42,.74); --panel2:rgba(18,30,52,.92);
  --line:rgba(125,211,252,.16); --line2:rgba(125,211,252,.32);
  --txt:#e8f3ff; --muted:#7e9bbd; --dim:#56708d;
  --cyan:#7dd3fc; --mag:#a5c8ff; --green:#5eead4; --red:#fb7185; --amber:#fcd34d;
  --blue:#60a5fa; --violet:#64809e; --pale:#cfe8ff;
  --orb1:125,211,252; --orb2:96,165,250; --orb3:94,234,212; --grid1:120,160,210;
}

/* NORD — albastru-ardezie potolit, lizibil ore în șir, fără accente stridente */
:root[data-theme="nord"]{
  --bg:#0e141b; --panel:rgba(26,35,46,.76); --panel2:rgba(33,44,58,.93);
  --line:rgba(136,192,208,.14); --line2:rgba(136,192,208,.28);
  --txt:#e5ecf2; --muted:#8495a6; --dim:#5d6f80;
  --cyan:#88c0d0; --mag:#81a1c1; --green:#a3be8c; --red:#bf616a; --amber:#ebcb8b;
  --blue:#81a1c1; --violet:#6b7f94; --pale:#d8e2ea;
  --orb1:136,192,208; --orb2:129,161,193; --orb3:163,190,140; --grid1:120,145,170;
}

/* selectorul de teme din antetul sertarului */
.theme-pick{display:flex;gap:6px;align-items:center;margin-left:auto;margin-right:8px}
.th{width:22px;height:22px;border-radius:7px;cursor:pointer;border:1.5px solid rgba(255,255,255,.18);
  position:relative;transition:.16s;flex:none}
.th:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.5)}
.th.on{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.18),0 0 12px -2px currentColor}
.th i{position:absolute;inset:3px;border-radius:4px;display:block}
@media (max-width:700px){.theme-pick{margin-right:4px;gap:5px}.th{width:26px;height:26px}}


/* ═══════════ PAGINA DE PROSPECTARE ═══════════ */
.pfilters{padding:16px 18px;display:flex;flex-direction:column;gap:14px}
.pf-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start}
.pf-gpus{flex:1;min-width:0}
.gchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px;max-height:124px;overflow:auto;padding:2px}
.gchip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:9px;cursor:pointer;
  border:1px solid var(--line);background:rgba(10,14,26,.6);font:600 11.5px var(--mono);color:#b8c4dc;transition:.15s;white-space:nowrap}
.gchip:hover{border-color:var(--line2);color:var(--txt)}
.gchip.on{border-color:var(--cyan);color:var(--cyan);background:rgba(34,211,238,.12);box-shadow:0 0 12px -5px var(--cyan)}
.gchip i{font-style:normal;font-size:9.5px;color:var(--dim)}
.gchip.on i{color:var(--cyan);opacity:.8}
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}
.cgrp{border:1px solid var(--line);border-radius:13px;padding:10px 13px 12px;background:rgba(5,8,16,.4);margin:0}
.cgrp legend{font:700 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);padding:0 7px}
.crit{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0}
.crit+.crit{border-top:1px solid rgba(120,160,255,.06)}
.crit-l{font:600 12.5px var(--head);color:#c8d2e4;display:flex;align-items:baseline;gap:6px;min-width:0}
.crit-l i{font-style:normal;font-size:10px;color:var(--dim);font-family:var(--mono)}
.crit-io{display:flex;align-items:center;gap:5px;flex:none}
.crit-io em{font-style:normal;color:var(--dim);font-size:11px}
.crit-io input{font:600 12.5px var(--mono);width:64px;padding:6px 7px;border-radius:8px;border:1px solid var(--line2);
  background:rgba(8,11,18,.9);color:var(--txt);outline:none;text-align:center}
.crit-io.one input{width:150px;text-align:left}
.crit-io input:focus{border-color:var(--cyan);box-shadow:0 0 10px -4px var(--cyan)}
.crit-io input::placeholder{color:var(--dim);font-weight:500;font-size:11px}
.pf-actions{align-items:center;border-top:1px solid var(--line);padding-top:12px;gap:14px}
.pf-actions .crit{padding:0}
.pf-chk{display:inline-flex;align-items:center;gap:7px;font:600 12px var(--head);color:#c8d2e4;cursor:pointer}
.pf-chk input{width:16px;height:16px}
.mknote{font:600 11.5px/1.7 var(--mono);color:#9fb0c8;background:rgba(34,211,238,.06);
  border:1px solid rgba(34,211,238,.2);border-radius:11px;padding:9px 12px;margin-bottom:10px}
.mkchip{display:inline-block;margin-right:14px}.mkchip b{color:var(--cyan)}
.tablewrap{padding:4px;overflow:auto;max-height:70vh}
.ptbl{width:100%;font:600 12px var(--mono)}
.ptbl thead th{position:sticky;top:0;background:var(--panel2);z-index:2;white-space:nowrap}
.ptbl td{padding:7px 8px;border-bottom:1px solid rgba(120,160,255,.07);white-space:nowrap;vertical-align:middle}
.ptbl tbody tr:hover{background:rgba(34,211,238,.06)}
.ptbl td small{display:block;font-size:9.5px;font-weight:500}
.ptbl td b{font-size:13px}
.ptbl .hi{background:rgba(34,211,238,.05)} .ptbl .hi b{color:var(--cyan)}
.ptbl .cpu,.ptbl .geo{max-width:150px;overflow:hidden;text-overflow:ellipsis}
.ptbl .lnk{cursor:pointer;border-bottom:1px dashed var(--line2)}
.ptbl .lnk:hover{color:var(--cyan)}
.ptbl .btn.sm{padding:3px 9px;font-size:14px;line-height:1}
.inc{display:flex;gap:14px;flex-wrap:wrap;font:600 11px var(--mono);color:var(--muted);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px 0}
.inc b{display:block;color:var(--txt);font-size:15px}
.inc-note{font-size:10.5px;line-height:1.6}
@media (max-width:700px){
  .cgrid{grid-template-columns:1fr}
  .crit-io input{width:58px}
  .crit-io.one input{width:120px}
  .gchips{max-height:96px}
  .tablewrap{max-height:none}
  .ptbl{font-size:11px} .ptbl td{padding:6px 5px}
  .pf-actions .btn{flex:1}
}

.ptbl tfoot td{padding:9px 8px;border-top:1px solid var(--line2);font-weight:800}
.ptbl .tfoot-l{text-align:right;color:var(--muted);font-weight:600;font-size:11px}
.ptbl .x{font-size:13px;padding:2px 6px}

/* antet sortabil */
.ptbl th.srt{cursor:pointer;user-select:none;white-space:nowrap;transition:color .15s}
.ptbl th.srt:hover{color:var(--txt)}
.ptbl th.srt i{font-style:normal;margin-left:5px;font-size:9px;opacity:.35}
.ptbl th.srt:hover i{opacity:.7}
.ptbl th.srt.on{color:var(--cyan)}
.ptbl th.srt.on i{opacity:1;color:var(--cyan)}

.pf select{font:600 13px var(--mono);padding:7px 10px;border-radius:9px;border:1px solid var(--line2);
  background:rgba(8,11,18,.9);color:var(--txt);outline:none;width:100%}
.pf select:focus{border-color:var(--cyan)}
code{font:600 11px var(--mono);color:var(--cyan);background:rgba(34,211,238,.08);padding:1px 5px;border-radius:5px}

/* harta orelor */
.heat{display:flex;flex-direction:column;gap:3px;overflow-x:auto}
.heat-row{display:flex;gap:3px;align-items:center}
.heat-row>span{width:34px;flex:none;font:600 10px var(--mono);color:var(--muted);text-align:right;padding-right:4px}
.heat .hh{width:16px;flex:none;font:600 9px var(--mono);font-style:normal;color:var(--dim);text-align:center}
.heat .hc{width:16px;height:16px;flex:none;border-radius:3px;display:block;cursor:help}
@media (max-width:700px){.heat .hc,.heat .hh{width:12px}.heat .hc{height:12px}.heat-row>span{width:26px}}

/* bare de proportie pentru tipurile de lucru */
.wbars{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.wbar{flex:1;min-width:150px;position:relative;height:30px;border-radius:9px;overflow:hidden;
  background:rgba(120,160,255,.08);border:1px solid var(--line);display:flex;align-items:center}
.wbar i{position:absolute;left:0;top:0;bottom:0;opacity:.3}
.wbar b{position:relative;padding-left:10px;font:700 11.5px var(--mono);color:var(--txt)}

/* ── CLIENT vs INTERN ──
   Modul client arată rezultatul; modul intern arată și raționamentul (piața, radarul,
   poziția față de concurenți, comportamentul clienților). */
.view-pick{margin-left:4px}
.view-pick a{font-size:10px;padding:5px 9px;letter-spacing:.1em}
:root[data-view="client"] .intern-only{display:none!important}
.cdec{border-color:rgba(34,211,238,.3)}
.cmeta{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font:600 10px var(--mono);
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cmeta b{display:block;font-size:15px;letter-spacing:0;text-transform:none;color:var(--txt);margin-top:1px}
.cdec .reason{font-size:11.5px;color:var(--dim);margin-top:8px}

:root[data-view="intern"] .client-only{display:none!important}
/* distribuția ofertelor comparabile — formă, fără valori */
.cdist{display:flex;align-items:flex-end;gap:8px;margin-top:10px}
.cd-l{font:600 9px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding-bottom:2px}
.cd-bars{flex:1;display:flex;align-items:flex-end;gap:2px;height:34px}
.cd-bars i{flex:1;background:rgba(120,160,255,.22);border-radius:2px 2px 0 0;transition:.3s}
.cd-bars i.me{background:var(--cyan);box-shadow:0 0 10px -2px var(--cyan)}

/* ═══════════ adaugat in varianta multi: intrare, passkeys, chei ═══════════
   Peste CSS-ul din mono, copiat verbatim. Variabilele de culoare sunt ale lui
   mono (--cyan/--mag/--panel), deci aliniez numele folosite aici la ele. */
:root{--bg2:var(--panel2);--card:var(--panel);--card2:var(--panel2);
  --line2:var(--line2,rgba(120,160,255,.28));--fg:var(--txt);--fg2:var(--muted);--fg3:var(--dim);
  --ac:var(--cyan);--ac2:var(--mag);--warn:var(--amber);--bad:var(--red);--good:var(--green);
  --glow:0 0 0 1px rgba(34,211,238,.18), 0 8px 32px -12px rgba(34,211,238,.25)}

/* ───────────── intrare / configurare initiala ─────────────
   Doua panouri: emblema NEXUS + formular. Pe telefon se pliaza intr-unul singur.
   Tot ce misca se opreste la prefers-reduced-motion. */
.gate{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}
/* pete care plutesc incet in fundal */
.gate::before{content:"";position:fixed;inset:-25%;z-index:0;pointer-events:none;
  background:radial-gradient(440px 440px at 22% 28%, rgba(46,230,197,.12), transparent 62%),
             radial-gradient(400px 400px at 78% 72%, rgba(77,163,255,.12), transparent 62%);
  animation:g-drift 24s ease-in-out infinite alternate}
/* grila fina, stinsa spre margini */
.gate::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(120,160,255,.055) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(120,160,255,.055) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(72% 62% at 50% 42%,#000,transparent);
          mask-image:radial-gradient(72% 62% at 50% 42%,#000,transparent)}
@keyframes g-drift{from{transform:translate3d(-2%,-1%,0) scale(1)}
                   to{transform:translate3d(2%,2%,0) scale(1.09)}}

.gate .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;
  width:min(880px,100%);border:1px solid var(--line);border-radius:20px;overflow:hidden;
  background:linear-gradient(158deg,var(--card),var(--card2));
  box-shadow:0 34px 90px -34px rgba(0,0,0,.85), var(--glow)}

/* ── panoul stang: emblema ── */
.gate-art{padding:36px 32px;display:flex;flex-direction:column;gap:20px;justify-content:center;
  border-right:1px solid var(--line);
  background:radial-gradient(520px 320px at 8% -5%, rgba(46,230,197,.09), transparent 62%)}
.emblem{width:96px;height:96px;position:relative;flex:none}
.emblem i{position:absolute;display:block}
.emblem i:nth-child(1){inset:0;border:2px solid var(--ac);border-radius:9px;transform:rotate(45deg);
  box-shadow:0 0 26px rgba(46,230,197,.45), inset 0 0 20px rgba(46,230,197,.14)}
.emblem i:nth-child(2){inset:19px;border:2px solid var(--ac2);border-radius:7px;
  box-shadow:0 0 18px rgba(77,163,255,.5);animation:emb-spin 11s linear infinite}
.emblem i:nth-child(3){inset:40px;background:#fff;border-radius:50%;
  box-shadow:0 0 14px rgba(255,255,255,.95), 0 0 34px rgba(46,230,197,.55);
  animation:emb-pulse 3.4s ease-in-out infinite}
@keyframes emb-spin{from{transform:rotate(45deg)}to{transform:rotate(405deg)}}
@keyframes emb-pulse{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.16)}}

.gate-art .mark{font-size:21px;letter-spacing:.17em;text-transform:uppercase;font-weight:700;line-height:1.2}
.gate-art .mark b{color:var(--ac)}
.gate-art .mark span{display:block;font-size:9.5px;letter-spacing:.2em;color:var(--fg3);
  margin-top:6px;line-height:1.6}
.gate-art .tagline{color:var(--fg2);font-size:13.5px;line-height:1.75;max-width:34ch}
/* a doua linie a sloganului, mai stinsa — cade dupa <br> */
.gate-art .tagline br+*,.gate-art .tagline{text-wrap:balance}
.gate-art .chips{display:flex;flex-wrap:wrap;gap:6px}
.gate-art .chips span{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  padding:4px 9px;border-radius:999px;border:1px solid var(--line2);color:var(--fg2)}

/* ── panoul drept: formularul ── */
.gate form{padding:36px 32px;display:flex;flex-direction:column;justify-content:center}
.gate h1{font-size:19px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.gate h1 b{color:var(--ac)}
.gate p.sub{color:var(--fg3);font-size:12.5px;margin-bottom:18px}
.gate label{display:block;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--fg3);margin:14px 0 5px}
.gate .fieldwrap{position:relative}
.gate input{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:10px;
  padding:11px 12px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
.gate input:focus{border-color:var(--ac);background:var(--bg);
  box-shadow:0 0 0 3px rgba(46,230,197,.13)}
.gate input[type=password]{padding-right:46px;letter-spacing:.06em}
/* 21.10: textul din câmpuri — fără culoare explicită browserul îl scria negru pe fundalul închis */
.gate{color-scheme:dark}
.gate input{color:var(--txt,#e6edf7);font:inherit;font-size:14px;caret-color:var(--ac)}
.gate input::placeholder{color:var(--fg3);opacity:1}
.gate input:-webkit-autofill,.gate input:-webkit-autofill:hover,.gate input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--txt,#e6edf7);caret-color:var(--ac);-webkit-box-shadow:0 0 0 40px var(--bg) inset;transition:background-color 9999s}
.gate .peek{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:30px;
  display:grid;place-items:center;background:none;border:0;cursor:pointer;color:var(--fg3);
  border-radius:7px;padding:0;margin:0;letter-spacing:0}
.gate .peek:hover{color:var(--ac);background:rgba(46,230,197,.08)}
.gate .caps{display:none;margin-top:6px;font-size:11.5px;color:var(--warn)}
.gate .caps.on{display:block}
.gate button[type=submit]{width:100%;margin-top:22px;background:linear-gradient(135deg,var(--ac),var(--ac2));
  color:#04121a;font-weight:650;border:0;border-radius:10px;padding:12px;cursor:pointer;
  letter-spacing:.04em;position:relative;overflow:hidden;
  transition:transform .12s ease, box-shadow .2s ease}
.gate button[type=submit]:hover:not(:disabled){transform:translateY(-1px);
  box-shadow:0 10px 26px -10px rgba(46,230,197,.65)}
.gate button[type=submit]:active:not(:disabled){transform:translateY(0)}
.gate button[type=submit]::after{content:"";position:absolute;inset:0;transform:translateX(-130%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent)}
.gate button[type=submit]:hover:not(:disabled)::after{animation:sheen .85s ease}
@keyframes sheen{to{transform:translateX(130%)}}
.gate button:disabled{opacity:.55;cursor:default}
.err{margin-top:14px;background:rgba(255,93,115,.1);border:1px solid rgba(255,93,115,.3);
  color:#ffc2cb;border-radius:10px;padding:9px 11px;font-size:12.5px;display:none}
.err.on{display:block;animation:err-in .22s ease}
@keyframes err-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

@media (max-width:720px){
  .gate{padding:16px}
  .gate .wrap{grid-template-columns:1fr}
  .gate-art{border-right:0;border-bottom:1px solid var(--line);padding:22px 24px;
    flex-direction:row;align-items:center;gap:16px}
  .gate-art .tagline,.gate-art .chips{display:none}
  .emblem{width:54px;height:54px}
  .emblem i:nth-child(2){inset:11px}
  .emblem i:nth-child(3){inset:23px}
  .gate-art .mark{font-size:17px}
  .gate form{padding:24px}
}
@media (prefers-reduced-motion:reduce){
  .gate::before,.emblem i:nth-child(2),.emblem i:nth-child(3),
  .gate button[type=submit]::after,.err.on{animation:none!important}
  .gate button[type=submit]:hover:not(:disabled){transform:none}
}

/* ── intrare cu Face ID / Touch ID / Windows Hello ── */
.pk{display:none;margin-bottom:4px}
.pk.on{display:block}
.pk button{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;
  background:rgba(46,230,197,.07);border:1px solid var(--line2);color:var(--fg);
  border-radius:10px;padding:12px;cursor:pointer;font-weight:600;letter-spacing:.02em;
  transition:border-color .15s,background .15s,transform .12s}
.pk button:hover:not(:disabled){border-color:var(--ac);background:rgba(46,230,197,.13);
  transform:translateY(-1px)}
.pk button:disabled{opacity:.55;cursor:default}
.pk svg{width:19px;height:19px;flex:none;stroke:var(--ac);fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.sep{display:flex;align-items:center;gap:12px;margin:18px 0 2px;
  color:var(--fg3);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.sep::before,.sep::after{content:"";flex:1;height:1px;background:var(--line)}

.row-on{border-left:2px solid var(--ac);padding-left:10px;background:rgba(46,230,197,.04)}

/* ── randuri din sertarul „Cont" (chei, dispozitive, membri) ── */
.arow{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;
  padding:9px 0;border-bottom:1px solid var(--line)}
.arow:last-child{border-bottom:0}
.arow b{display:block;font-size:13px}
.arow i{display:block;font-style:normal;font-size:11.5px;color:var(--dim);margin-top:2px}
.arow.on{border-left:2px solid var(--cyan);padding-left:10px;background:rgba(34,211,238,.05)}
.arow input{background:var(--panel2);border:1px solid var(--line);border-radius:8px;
  padding:7px 9px;color:var(--txt);outline:none;margin-right:6px}
.arow input:focus{border-color:var(--cyan)}
.bad{color:var(--red)}
.acc-sel{background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--muted);
  padding:3px 8px;font:inherit;font-size:11.5px;margin-left:10px;cursor:pointer;max-width:220px}
.acc-sel option{background:#0a0e1a;color:var(--txt)}
.vmark{color:var(--dim);font-family:var(--mono);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;margin-left:6px}

/* butonul ⓘ de langa actiune: explicatia deciziei sta ascunsa pana o ceri */
.whyb{margin-left:8px;background:none;border:0;color:var(--dim);cursor:pointer;font-size:14px;
  line-height:1;padding:2px 4px;border-radius:6px;transition:color .15s,background .15s}
.whyb:hover{color:var(--cyan);background:rgba(34,211,238,.1)}
.whyb.on{color:var(--cyan)}
.reason[hidden]{display:none}

/* ─────────── statisticile din card, la carduri inguste ───────────
   In varianta mono parcul are doua masini: grila `repeat(auto-fit,minmax(380px,1fr))`
   le da ~900px fiecare, deci cele patru pastile incap mereu pe un rand. Cu 7 masini
   randul de carduri se umple si fiecare card scade la ~360px — iar `repeat(4,1fr)`
   pastreaza latimea MINIMA a conținutului, care cu `white-space:nowrap` e latimea
   textului intreg. Rezultat: rândul de statistici depasea marginea cardului si
   „Piață N×" ieșea in afara lui, peste cardul vecin.

   minmax(0,1fr) lasa coloanele sa scada sub conținut, iar valorile se rup pe doua
   rânduri in loc sa iasa. $/zi trece oricum pe rândul lui: e mai limpede asa. */
.mstats{grid-template-columns:repeat(4,minmax(0,1fr))}
.ms b{white-space:normal;overflow-wrap:anywhere;line-height:1.2}
.ms b small.u2{display:block;margin-left:0;margin-top:1px}
.ms b small.u2::before{content:""}

/* rândul de redenumire din panoul mașinii */
.namerow{margin-bottom:10px}
.namerow label{font:700 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.namerow input{background:var(--panel2);border:1px solid var(--line);border-radius:9px;
  padding:7px 10px;color:var(--txt);outline:none;font:700 14px var(--head);
  letter-spacing:.03em;min-width:190px}
.namerow input:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(34,211,238,.12)}
.namerow input::placeholder{color:var(--dim);font-weight:400;letter-spacing:0}
.namerow .muted{font-size:11.5px}

/* pastila de cont de demonstratie: aceeasi culoare ca avertismentele, ca sa nu se
   confunde cu parcul real nici cu coada ochiului */
.pill.demo{color:#fbbf24;border-color:rgba(251,191,36,.55);background:rgba(251,191,36,.1);
  box-shadow:0 0 18px -6px rgba(251,191,36,.8)}
.acc-sel.demo{color:#fbbf24;border-color:rgba(251,191,36,.5)}

/* ═══════════════ consola de setări (pe tot ecranul, taburi în bară) ═══════════════
   Un singur rând sus: sigla, titlul, taburile, tema, închiderea. Dedesubt, restul
   ecranului e al conținutului — fără coloană laterală, fără a doua bară.

   `inset:0` singur nu ajunge mereu: scriu explicit si lătimea/înălțimea in unitati de
   fereastra (dvh pe telefon, ca bara browserului sa nu taie rândul de salvare), si
   `overflow:hidden` pe container, ca doar `.cons-main` sa aiba sul. */
.cons{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;
  margin:0;z-index:70;background:var(--bg);overflow:hidden;
  display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  animation:consIn .18s ease-out}
@keyframes consIn{from{opacity:0}to{opacity:1}}
.cons[hidden]{display:none}
.cons-top{display:flex;align-items:center;gap:10px;padding:10px 16px;min-height:52px;
  border-bottom:1px solid var(--line);background:var(--panel2)}
#cons-title{font:800 15px var(--head);letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);flex:none;margin-right:4px}
.cons-flex{flex:1}
.cons-hint{font:600 10px var(--mono);letter-spacing:.06em}

/* taburile, in bara de sus */
.cons-rail{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none;
  flex:0 1 auto;min-width:0}
.cons-rail::-webkit-scrollbar{display:none}
.cons-tab{display:flex;align-items:center;gap:7px;padding:7px 12px;border-radius:10px;
  cursor:pointer;border:1px solid transparent;color:var(--muted);flex:0 0 auto;
  transition:background .14s,color .14s,border-color .14s;white-space:nowrap}
.cons-tab:hover{background:rgba(34,211,238,.07);color:var(--txt)}
.cons-tab.on{background:rgba(34,211,238,.12);border-color:rgba(34,211,238,.45);color:var(--txt)}
.cons-tab i{font-style:normal;font-size:14px;opacity:.9}
.cons-tab b{font:700 12.5px var(--head);letter-spacing:.05em}
.cons-tab s{display:none}                      /* subtitlul il port doar in titlul html */
.cons-tab .mark{color:var(--amber);font-size:11px}

.cons-main{overflow:auto;padding:18px 16px 28px;scroll-behavior:smooth}
/* Fiecare tab isi aseaza cardurile in aceeasi grila ca Flota: cat incap pe lat, atat.
   Titlul, explicatia si panoul masinii trec peste toate coloanele. */
.cons-main>.cons-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));
  gap:14px;align-items:start}
.cons-main>.cons-wrap>h2,.cons-main>.cons-wrap>p{grid-column:1/-1}
.cons-main>.cons-wrap>h2{font:800 21px var(--head);letter-spacing:.06em;margin:0}
.cons-main>.cons-wrap>h2+p{color:var(--muted);font-size:12.5px;margin:0;max-width:78ch}
/* jurnalul si lista de dispozitive au nevoie de lat, nu de o coloana */
.cons-card:has(pre.log),.cons-card:has(#pk-list),.cons-card:has(.cons-kpi),.cons-card.mo-wide{grid-column:1/-1}
/* ══ 24.10: planurile — eticheta „only PRO / PRO+” și mostra estompată sub ea ══ */
.pro-only.gate-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:16px 12px}
.pro-only.gate-badge b{font:800 11px var(--mono);letter-spacing:.18em;text-transform:uppercase;padding:6px 14px;border-radius:99px;
  color:var(--amber);background:color-mix(in srgb,var(--amber) 16%,transparent);border:1px solid color-mix(in srgb,var(--amber) 55%,transparent);box-shadow:0 0 24px -8px var(--amber)}
.pro-only.gate-badge span{font-size:12px;color:var(--muted);max-width:48ch;line-height:1.45}
.pro-only.tall{min-height:260px} .pro-only.slim{padding:8px 0}
.pro-only.sm{flex-direction:row;justify-content:flex-start;gap:10px;padding:8px 0 0} .pro-only.sm b{font-size:9.5px;padding:4px 9px} .pro-only.sm span{text-align:left;font-size:11px}
.gate-wrap{position:relative;min-height:120px;overflow:hidden;border-radius:14px}
.gate-blur{filter:blur(7px) saturate(.55);opacity:.5;pointer-events:none;user-select:none}
.gate-wrap>.pro-only.over{position:absolute;inset:0;z-index:2;background:radial-gradient(55% 55% at 50% 50%,color-mix(in srgb,var(--bg) 72%,transparent),transparent)}
.mk-sample{display:flex;flex-direction:column;gap:14px;padding:6px}
.sample-chart{display:block;width:100%;height:auto} .sc-line{fill:none;stroke:var(--cyan);stroke-width:2.5} .sc-area{fill:color-mix(in srgb,var(--cyan) 18%,transparent)}
.sc-bar{fill:color-mix(in srgb,var(--violet,#a78bfa) 45%,transparent)} .sc-ax{stroke:var(--line2)}
.mo-sw.gated{opacity:.55} .mo-sw.gated .sw i{cursor:not-allowed}
.mo-box .pro-only.sm{margin-top:8px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--bg) 55%,transparent)}
.mo-box .pro-only span{display:block;font:600 11px var(--mono);letter-spacing:0;text-transform:none;color:var(--muted);margin:0}
.mo-box .pro-only b{display:inline-block;font:800 9.5px var(--mono);letter-spacing:.16em;margin:0}
.pdb.free .pdb-z{display:none}
/* 23.10: tabul Motor — banda de stare, lista deciziilor */
.mo-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;align-items:stretch}
.mo-box{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:10px 13px;min-width:0}
.mo-box span{display:block;font:700 9px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.mo-box b{display:block;font:800 20px var(--head);letter-spacing:.06em;margin-top:3px}
.mo-box small{display:block;font:500 11px var(--mono);color:var(--muted);margin-top:4px;line-height:1.35}
.mo-box.mode.dry b{color:var(--green)} .mo-box.mode.live b{color:var(--red);text-shadow:0 0 14px color-mix(in srgb,var(--red) 50%,transparent)}
.mo-box.mode.live{border-color:color-mix(in srgb,var(--red) 50%,var(--line))}
.mo-box.state.on b{color:var(--cyan)} .mo-box.state.off b{color:var(--muted)}
.mo-act{display:flex;flex-direction:column;gap:8px;justify-content:center;align-items:stretch;margin-top:10px}
.mo-act .btn{text-align:center}
.mo-box{display:flex;flex-direction:column}
.mo-box.info{justify-content:flex-start} .mo-box.info small+small{margin-top:6px}
.mo-sw{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);cursor:pointer}
.mo-sw em{font:600 11.5px var(--mono);color:var(--muted);font-style:normal}
.mo-box.mode.live .mo-sw em{color:var(--txt)}
.mo-h{margin:-4px 0 10px;font-size:12px;color:var(--muted)}
.mo-dz{display:flex;flex-direction:column}
.mo-row{display:grid;grid-template-columns:minmax(140px,200px) minmax(0,1fr);gap:14px;align-items:start;padding:10px 0;border-top:1px solid var(--line)}
.mo-row:first-child{border-top:0;padding-top:0}
.mo-m b{display:block;font:700 13.5px var(--head)} .mo-m small{display:block;font:500 11px var(--mono);color:var(--dim);margin-top:2px}
.mo-row .decide{margin:0}
@media (max-width:640px){ .mo-row{grid-template-columns:minmax(0,1fr)} }
.cons-card{margin-bottom:0}
/* pagina nu centreaza nimic intre margini goale; nici consola. Doar textul
   explicativ are o latime de citit. */
.cons-wrap{max-width:none}
.cons-grid{display:grid;grid-template-columns:268px minmax(0,1fr);gap:18px;align-items:start}
.cons-bar{display:flex;align-items:center;gap:12px;padding:11px 18px;
  border-top:1px solid rgba(251,191,36,.45);background:rgba(251,191,36,.07)}
.cons-bar[hidden]{display:none}
.cons-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:14px 16px;backdrop-filter:blur(10px);
  box-shadow:0 20px 50px -30px #000,inset 0 1px 0 rgba(255,255,255,.04)}
.cons-card>h3{font:700 12px var(--head);letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin:0 0 10px}
.cons-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.cons-kpi div{background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:9px 11px}
.cons-kpi span{display:block;font:700 9px var(--mono);letter-spacing:.12em;
  text-transform:uppercase;color:var(--dim)}
.cons-kpi b{display:block;font:800 16px var(--mono);margin-top:3px}
.mc-dirty{color:var(--amber);margin-left:auto;font-size:13px}
@media(max-width:860px){
  .cons-top{padding:8px 10px;gap:7px}
  #cons-title{display:none}
  .cons-tab b{display:none}
  .cons-tab{padding:8px 11px}
  .cons-tab i{font-size:16px}
  .cons-main{padding:14px 13px 22px}
  .cons-grid{grid-template-columns:1fr}
  .cons-hint{display:none}
}
/* ── Setări ▸ Mașini: rândul de carduri cu săgeți, apoi reglajele pe două coloane ──
   Cu șapte mașini, lista pe verticală împingea panoul în dreapta și tot trebuia sul.
   Rândul de sus ține cardurile una lângă alta (săgeți sau ← →), iar reglajele se
   împart în două coloane ca să încapă pe un ecran, fără sul. */
/* Sagetile stau la DREAPTA randului, nu de o parte si de alta: altfel pista pornea de
   la 40px si cardurile nu mai cadeau pe linia coloanelor de dedesubt. */



.cons .mc-top b{font-size:14px}


/* Exact doua coloane, fiecare cu impachetarea ei: daca lasam cele trei grupuri sa curga
   direct in grila, „Oferta" primea inaltimea rândului de deasupra si rămânea un gol. */
.mpanel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.mp-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.mp-head{grid-column:1/-1;padding:0 0 2px;border-bottom:1px solid var(--line);margin-bottom:2px}
.cons .mp-head b{font-size:16px}
.cons .mp-px{margin-top:2px}

/* mai strâns decât în sertar: aici vreau totul pe un ecran */
.cons .fs{padding:12px 15px;background:var(--panel);border-radius:var(--r);
  backdrop-filter:blur(10px);box-shadow:0 20px 50px -30px #000,inset 0 1px 0 rgba(255,255,255,.04)}
.cons .fs legend{letter-spacing:.14em}
.cons .fld{padding:6px 0;gap:8px}
.cons .fld label{font-size:12.5px}
.cons .fld label small{font-size:10.5px;line-height:1.45;max-width:46ch;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.cons .fld:hover label small{color:var(--muted)}
.cons .fld input[type=number],.cons .fld input[inputmode=decimal],.cons .fld select{width:106px;padding:5px 8px;font-size:12.5px}
/* Comenzile stau lipite de marginea din dreapta a grupului, deci marginea LOR dreapta
   cade pe aceeasi verticala la toate rândurile. Nu le dau si o latime comuna: ar umfla
   comutatorul (are 46px si pastila lui se intinde cat ii dai), si nici nu e nevoie —
   ochiul urmareste linia din dreapta. Eticheta ia restul si nu impinge comanda. */
.cons .fld{align-items:center}
.cons .fld>label{flex:1 1 auto;min-width:0;padding-right:10px}
.cons .fld>:last-child{flex:0 0 auto}
.cons .fld .sw{flex:0 0 46px}
.cons .prev{margin:6px 0 2px;padding:8px 10px;font-size:11px}
.cons .fld.tiers-fld{flex-direction:column;align-items:stretch}
.cons .fld.tiers-fld .tiers{margin-top:7px;grid-template-columns:auto 1fr auto 1fr auto}
.cons .tiers input{width:100%}
@media(max-width:820px){
  .mpanel{grid-template-columns:1fr}
}
/* consola e opaca si sta la 70: fara asta, confirmarile („salvat ✓") rămâneau dedesubt */
.toast{z-index:90}

/* ═══════════════ consola de setări pe telefon (≤700px, ca restul paginii) ═══════════════
   Consola a fost gandita pe desktop: `.cons-wrap` cerea coloane de minim 400px,
   ceea ce pe un ecran de 390px iese din pagina si da sul pe orizontala peste tot.
   Aici o strang: o coloana, bara de sus doar cu taburi, rândurile de setări cu
   eticheta deasupra comenzii, si câmpuri de 16px — sub 16px Safari mareste
   pagina singur la atingerea unui câmp si sare tot asezarea. */
@media (max-width:700px){
  /* zona sigura sus (crestatura) si jos (bara de gesturi) */
  .cons-top{padding:6px 9px;gap:6px;min-height:48px;padding-top:max(6px,env(safe-area-inset-top))}
  .cons-top .logo,.cons-flex{display:none}   /* 20.10: tema rămâne (globul deschide foaia de jos) */
  .cons-rail{gap:3px;flex:1 1 auto}
  .cons-tab{padding:10px 9px;min-height:40px;gap:6px}    /* ținta de atingere ≥40px */
  .cons-tab i{font-size:17px}
  .cons-tab.on b{display:block;font-size:12px}           /* numele doar pe tabul deschis */
  #cons-x{min-width:40px;min-height:40px;flex:0 0 auto}
  .cons-main{padding:12px 12px calc(20px + env(safe-area-inset-bottom))}

  /* o coloana: minmax(400px,1fr) nu intra in 366px de lățime utila */
  .cons-main>.cons-wrap{grid-template-columns:1fr;gap:12px}
  .cons-card{padding:12px 13px}
  .cons-card>h3{font-size:11px}
  .cons-kpi{grid-template-columns:repeat(2,1fr);gap:8px}
  .cons-kpi b{font-size:15px}

  /* rândurile de setări: eticheta pe un rând, comanda dedesubt lipita la dreapta.
     Comutatoarele rămân pe acelasi rând — 46px nu merita un rând al lor. */
  .cons .fs{padding:11px 13px}
  .cons .fld{flex-wrap:wrap;row-gap:7px}
  .cons .fld>label{flex:1 1 100%;padding-right:0}
  .cons .fld label small{max-width:none;-webkit-line-clamp:3}
  .cons .fld>:last-child{margin-left:auto}
  .cons .fld:has(.sw)>label{flex:1 1 auto;padding-right:10px}
  .cons .fld input[type=number],.cons .fld input[inputmode=decimal],.cons .fld select{width:128px;font-size:16px;min-height:40px}
  .cons .tiers{font-size:11px;gap:6px}
  .cons .tiers input{font-size:16px;min-height:38px}
  .cons .seg a{padding:9px 13px;font-size:12.5px}
  .cons .prev{font-size:10.5px}

  /* carusel: se trage cu degetul, deci săgețile doar ocupa loc */
  .cons .mc-top b{font-size:13px}
  .cons .mp-head b{font-size:15px}

  /* bara de salvare: butoane late, deasupra barei de gesturi */
  .cons-bar{padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px;flex-wrap:wrap}
  #cons-bar-txt{flex:1 1 100%;font-size:11px}
  .cons-bar .btn{flex:1;min-height:46px}
  .cons pre.log{font-size:11px;max-height:none}
}

/* Evaluarea de hardware: bare de percentila. Cele de catalog sunt stinse intentionat
   — axa aia nu se plateste, si culoarea n-are de ce sa spuna altceva. */
.hwaxes{display:flex;flex-direction:column;gap:5px}
.hwax{display:flex;align-items:center;gap:9px;font:600 11px var(--mono);color:var(--muted)}
.hwax>span:first-child{flex:0 0 118px}
.hwax b{font:800 12px var(--mono);color:var(--txt);flex:0 0 36px;text-align:right}
.hwax i.muted{font-style:normal;font-size:10px}
.pctbar{flex:1;min-width:70px;height:7px;border-radius:4px;background:rgba(5,8,16,.7);
  border:1px solid var(--line);overflow:hidden}
.pctbar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),#2bb6d6);
  box-shadow:0 0 8px rgba(34,211,238,.5);transition:width .5s ease}
.pctbar.cat i{background:rgba(148,163,210,.4);box-shadow:none}
@media(max-width:700px){
  .hwax{flex-wrap:wrap;gap:4px 8px} .hwax>span:first-child{flex:0 0 100%}
  .hwax>span.muted:last-child{flex:0 0 100%;font-size:10px}
}

/* Harta pe doua axe [nuclee × RAM]. Celula mea e incadrata; clasele cu sub 5 masini
   sunt stinse, fiindca mediana lor nu inseamna nimic si n-are de ce sa para ca da. */
.tbl.hmap{font:600 11px var(--mono);min-width:520px}
.tbl.hmap th{white-space:nowrap;font-size:9px}
.tbl.hmap tbody th{text-align:right;color:var(--muted);border-bottom:1px solid rgba(120,160,255,.07)}
.tbl.hmap td{text-align:center;padding:5px 6px}
.tbl.hmap td b{font:800 12px var(--mono);color:var(--txt)}
.tbl.hmap td small{display:block;font-size:9px;color:var(--dim);margin-top:1px}
.tbl.hmap td.gol{background:rgba(5,8,16,.3)}
.tbl.hmap td.slab b{color:var(--dim)}
.tbl.hmap td.mine{box-shadow:inset 0 0 0 2px var(--cyan);background:rgba(34,211,238,.1);border-radius:6px}
.tbl.hmap td.mine b{color:#fff}

/* Pasii de preţ care nu pot ieși pe plus nici teoretic: stinsi si tăiati, ca sa nu
   para o opțiune pe care o cantareste cineva. */
.tbl tr.imp td{color:var(--dim)}
.tbl tr.imp td:first-child{text-decoration:line-through}
.tbl tr.imp td b{color:var(--amber)}

/* clienți: D/I ca insignă mică */
.cl-tip{display:inline-block;min-width:20px;text-align:center;padding:1px 5px;border-radius:5px;font-size:11px;font-weight:800}
.cl-D{color:var(--green);background:rgba(52,211,153,.12)} .cl-I{color:var(--amber);background:rgba(251,191,36,.12)} .cl-R{color:var(--cyan,#67e8f9);background:rgba(103,232,249,.12)}
.cl-tbl td,.cl-tbl th{white-space:nowrap}

/* ═══ 18.10 (p2): pagina pentru client — reperele Alfa/Beta, detalii stranse, reparatii de asezare ═══ */
.fld label .unit{align-self:flex-start}                 /* eticheta unitatii nu se mai intinde pe tot randul */
.reason .lim-note{display:block;margin-top:6px;color:var(--amber);font-size:11.5px}
/* „de unde vine pretul": Reper Alfa 0.450 · Reper Beta ≥ 0.380 → conteaza cel mai mare */
.bm{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;margin-top:8px;font:600 11.5px var(--mono);color:var(--muted)}
.bm b{color:var(--txt)} .bm .lead{color:var(--txt)} .bm .lead b{color:var(--cyan)} .bm i{font-style:normal;color:var(--dim)}
.vtg{font:700 14px var(--mono);color:var(--muted)} .vtg b{font-size:18px} .vtg .ren{margin-left:4px}
details.om-more>summary{cursor:pointer;list-style:none}
details.om-more>summary::-webkit-details-marker{display:none}
details.om-more>summary h3{display:inline-block}
details.om-more>summary h3::after{content:" ▸";color:var(--dim)}
details.om-more[open]>summary h3::after{content:" ▾"}
details.om-more .namerow{margin-bottom:8px}
#signals .sig{grid-column:span 6}
/* pretul manual pe desktop: campul langa eticheta, nu la capatul randului */
#pm-box .fld{justify-content:flex-start}
#pm-box .fld label{flex:0 1 340px}
.aud-tbl td{white-space:normal;vertical-align:top} .aud-tbl td:first-child{white-space:nowrap}
.st b{overflow-wrap:anywhere}
@media (max-width:860px){ .cons-tab.on b{display:inline} }      /* tabul activ isi arata numele pe telefon */
@media (max-width:700px){
  #signals .sig{grid-column:span 1}
  .fld input[inputmode=decimal]{width:128px}
  #pm-box .fld label{flex:1 1 60%}
}
@media (max-width:640px){
  /* cinci placi pe doua randuri fara gol: 3 sus, 2 jos; etichetele pe un singur rand */
  .fleet .mcard .mstats{grid-template-columns:repeat(6,minmax(0,1fr))}
  .fleet .mcard .mstats .ms{grid-column:span 2}
  .fleet .mcard .mstats .ms:nth-child(n+4){grid-column:span 3}
  .fleet .mcard .ms .lbl{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media (max-width:600px){ .hud{position:relative} }             /* capul (doua randuri) nu mai acopera un sfert din ecran */
@media (max-width:640px){ #inc-st .st{flex:1 1 calc(50% - 6px)} }

/* 18.10: evenimentele masinii — coloane aliniate pe toate randurile: ora | placi | N× | text
   (subgrid: latimea fiecarei coloane e cea mai lata celula din lista, nu din rand) */
#mev{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);column-gap:14px}
#mev > .ev{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:center;padding:7px 12px}
#mev > .ev > *{grid-row:1}
#mev > .ev > .t{grid-column:1;align-self:center}
#mev > .ev > .gc{grid-column:2;display:flex;align-items:center}
#mev > .ev > .gc .gpus{flex-wrap:nowrap}
#mev > .ev > .nx{grid-column:3;text-align:right;min-width:1.6em}
#mev > .ev > .tx{grid-column:4;line-height:1.3}
#mev > :not(.ev){grid-column:1/-1}
@media (max-width:640px){
  #mev{column-gap:10px}
  #mev > .ev{padding:8px 10px 8px 12px}
}
@media (min-width:641px){ #mev > .ev > .t{grid-template-columns:7.6em auto} }
@media (max-width:640px){
  /* peste 4 placi: doua randuri de cate 4, ca textul sa ramana lizibil */
  #mev > .ev > .gc .gpus{display:grid;grid-template-columns:repeat(4,max-content);gap:3px}
  #mev > .ev > .nx{min-width:0}
}

/* 18.10: internetul masinii (ca in v2), sub chiriasi */
.bwline{white-space:normal;overflow:visible;text-overflow:clip;font:600 11.5px/1.5 var(--mono);color:var(--muted);background:rgba(96,165,250,.07);border:1px solid rgba(96,165,250,.18);border-radius:10px;padding:8px 12px;margin-top:10px}
.bwline b{color:var(--blue)}
@media (max-width:640px){ .bwline{font-size:10.5px;padding:7px 10px} }
.bwline .bw-t{color:var(--txt);text-transform:uppercase;letter-spacing:.06em}

/* 17.10: contul Demo — caseta cu ID-urile mașinilor */
.demo-box{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.demo-box label{font-weight:600;color:var(--txt)}
.demo-row{display:flex;gap:8px;flex-wrap:wrap}
.demo-row input{flex:1 1 220px;min-width:0;font:600 13px var(--mono);padding:9px 12px;border-radius:11px;border:1px solid var(--line2);background:rgba(10,14,26,.8);color:var(--txt);outline:none}
.demo-row input:focus{border-color:var(--cyan)}
@media (max-width:640px){.demo-row input{font-size:16px;min-height:44px}}
.demo-note{font-size:12px;line-height:1.4}
.demo-lipsa{color:var(--warn,#c80)}
.alert.demo-al{flex-wrap:wrap}
.alert.demo-al > span{flex:1 1 0;min-width:0}
.alert.demo-al > .demo-box{flex:1 1 100%;margin-top:4px}
.demo-chips{display:flex;flex-wrap:wrap;gap:6px}
.demo-chip{display:inline-flex;align-items:center;gap:6px;font:600 12px var(--mono);padding:4px 4px 4px 10px;border-radius:999px;border:1px solid var(--line2);background:rgba(10,14,26,.6);color:var(--txt)}
.demo-chip i{font-style:normal;font-weight:400;color:var(--muted)}
.demo-chip.wait{border-style:dashed;opacity:.8}
.demo-x{border:0;background:transparent;color:var(--muted);font:700 15px/1 var(--mono);width:24px;height:24px;border-radius:50%;cursor:pointer}
.demo-x:hover{color:var(--red);background:rgba(251,113,133,.12)}
.demo-chip.unseen,.demo-chip.unlisted{opacity:.55}
/* 18.10: rândul „Hardware" sub Internet — se lungește la click */
.hwline{font:600 11.5px/1.5 var(--mono);color:var(--muted);background:rgba(167,139,250,.07);border:1px solid rgba(167,139,250,.2);border-radius:10px;padding:8px 12px;margin-top:8px}
.hwline summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px}
.hwline summary::-webkit-details-marker{display:none}
.hwline summary .bw-t{color:var(--txt);text-transform:uppercase;letter-spacing:.06em}
.hwline .hw-more{margin-left:auto;color:#a78bfa;white-space:nowrap}
.hwline .hw-more::after{content:" ▾";display:inline-block;transition:transform .15s}
.hwline[open] .hw-more::after{transform:rotate(180deg)}
.hw-dl{display:grid;grid-template-columns:max-content 1fr;gap:5px 14px;margin:10px 0 2px;padding-top:9px;border-top:1px dashed rgba(167,139,250,.22)}
.hw-dl dt{color:#a78bfa;text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;padding-top:1px}
.hw-dl dd{margin:0;color:var(--txt);word-break:break-word}
.hw-note{margin-top:6px;font-size:10.5px}
@media (max-width:640px){ .hwline{font-size:10.5px;padding:7px 10px} .hw-dl{grid-template-columns:1fr;gap:1px 0} .hw-dl dd{margin-bottom:5px} }
.hwline .hw-rez::before{content:"· "}
@media (max-width:640px){ .hwline .hw-rez{flex-basis:100%} .hwline .hw-rez::before{content:none} }
@media (max-width:640px){ .demo-x{width:32px;height:32px;font-size:17px} .demo-chip{padding-right:2px} }

/* ═══════════════ 18.10 — setările refăcute: pe toată lățimea, pe coloane, fără sul ═══════════════
   `.cons-main` e un <main> și moștenea `main{max-width:1280px;margin:0 auto}` al paginii — de aici
   coloana îngustă din mijloc. Acum: zona de lucru pe tot ecranul, conținutul până la 1440px, cardurile
   câte încap pe rând (2–3), cu aceeași înălțime pe rând; la schimbarea tabului cardurile intră pe rând. */
.cons-main{max-width:none;width:100%;margin:0;padding:20px clamp(16px,2.6vw,44px) 26px}
.cons-main>.cons-wrap{max-width:1440px;margin:0 auto;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:16px 18px;align-items:stretch}
.cons-main>.cons-wrap>h2{display:flex;align-items:center;gap:12px;font:800 23px var(--head);letter-spacing:.07em;margin:0}
.cons-main>.cons-wrap>h2::before{content:"";flex:none;width:5px;height:24px;border-radius:3px;
  background:linear-gradient(180deg,var(--cyan),var(--mag));box-shadow:0 0 14px color-mix(in srgb,var(--cyan) 55%,transparent)}
.cons-main>.cons-wrap>h2+p{margin:-8px 0 2px 17px;max-width:110ch;font-size:12.5px;line-height:1.5}

/* cardurile: margine care se aprinde, colț luminos, titlu cu punct */
.cons-card,.cons .fs{position:relative;display:flex;flex-direction:column;
  background:linear-gradient(160deg,rgba(18,26,46,.82),rgba(9,13,24,.78));
  border:1px solid var(--line);border-radius:18px;padding:16px 18px;
  transition:border-color .25s,box-shadow .25s,transform .25s}
.cons-card::after,.cons .fs::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(420px 120px at 0 0,color-mix(in srgb,var(--cyan) 9%,transparent),transparent 70%);opacity:.8;transition:opacity .25s}
.cons-card:hover,.cons .fs:hover{border-color:color-mix(in srgb,var(--cyan) 32%,transparent);
  box-shadow:0 18px 44px -28px color-mix(in srgb,var(--cyan) 45%,transparent),inset 0 1px 0 rgba(255,255,255,.05)}
.cons-card:hover::after,.cons .fs:hover::after{opacity:1}
.cons-card>h3{display:flex;align-items:center;gap:8px;font:700 12px var(--head);letter-spacing:.16em;color:var(--muted);margin:0 0 12px}
.cons-card>h3::before{content:"";width:7px;height:7px;border-radius:2px;transform:rotate(45deg);
  background:var(--cyan);box-shadow:0 0 10px var(--cyan);flex:none}
.cons .fs legend{font:700 12px var(--head);letter-spacing:.16em;color:var(--cyan);padding:0 8px}

/* indicatorii de sus (Motor): toți pe un rând, cu linie colorată */
.cons-kpi{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.cons-kpi div{position:relative;overflow:hidden;border-radius:13px;padding:11px 13px 12px;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));transition:transform .2s,border-color .2s}
.cons-kpi div::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--cyan),var(--mag));opacity:.75}
.cons-kpi div:hover{transform:translateY(-2px);border-color:var(--line2)}
.cons-kpi b{font-size:19px;margin-top:5px}

/* rândurile de setări: separatoare fine, eticheta ia locul, comanda pe dreapta */
.cons .fld{padding:9px 0;border-bottom:1px dashed rgba(120,160,255,.10)}
.cons .fld:last-child{border-bottom:0}
.cons .arow{display:flex;align-items:center;gap:14px;justify-content:space-between}
.cons .arow i{display:block;font-style:normal;color:var(--muted);font-size:11.5px;margin-top:3px;line-height:1.45}

/* câmpuri și liste în stilul paginii (lista derulantă era albă, a sistemului) */
.cons input:not([type=checkbox]):not([type=radio]),.cons select,.cons textarea{
  background:rgba(6,10,20,.75);border:1px solid var(--line2);border-radius:10px;color:var(--txt);
  padding:8px 11px;font:500 13px var(--mono);outline:none;transition:border-color .18s,box-shadow .18s,background .18s}
.cons input:not([type=checkbox]):not([type=radio]):hover,.cons select:hover{border-color:color-mix(in srgb,var(--cyan) 40%,transparent)}
.cons input:not([type=checkbox]):not([type=radio]):focus,.cons select:focus,.cons textarea:focus{
  border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 16%,transparent);background:rgba(6,10,20,.95)}
.cons select{appearance:none;-webkit-appearance:none;padding-right:30px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2322d3ee' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center}
.cons select option{background:#0b1222;color:var(--txt)}
.cons input.bad{border-color:var(--red);box-shadow:0 0 0 3px rgba(251,113,133,.16)}

/* taburile: pastilă cu lumină sub cel deschis */
.cons-top{background:linear-gradient(180deg,rgba(14,20,36,.96),rgba(10,14,26,.92));backdrop-filter:blur(12px)}
.cons-tab{position:relative;padding:8px 13px;border-radius:11px}
.cons-tab i{display:grid;place-items:center;line-height:0}
.cons-tab svg{transition:transform .25s}
.cons-tab:hover svg{transform:scale(1.12)}
.cons-tab.on{background:linear-gradient(180deg,color-mix(in srgb,var(--cyan) 16%,transparent),color-mix(in srgb,var(--cyan) 6%,transparent));color:var(--txt);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--cyan) 40%,transparent) inset,0 6px 18px -10px color-mix(in srgb,var(--cyan) 80%,transparent)}
.cons-tab.on i{color:var(--cyan);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--cyan) 70%,transparent))}
.cons-tab::after{content:"";position:absolute;left:22%;right:22%;bottom:-11px;height:2px;border-radius:2px;
  background:var(--cyan);box-shadow:0 0 10px var(--cyan);transform:scaleX(0);transition:transform .25s}
.cons-tab.on::after{transform:scaleX(1)}

/* Limite: chip-urile mașinilor, apoi două coloane egale (limitele | previzualizarea și prețul manual) */


.mpanel{gap:16px 18px}
.mpanel .note{margin:0}
.mpanel{animation:consCard .32s cubic-bezier(.2,.8,.2,1) both}

/* intrarea: cardurile apar pe rând, de jos în sus */
@keyframes consCard{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.cons-main>.cons-wrap>*{animation:consCard .38s cubic-bezier(.2,.8,.2,1) both}
.cons-main>.cons-wrap>*:nth-child(2){animation-delay:.03s}
.cons-main>.cons-wrap>*:nth-child(3){animation-delay:.07s}
.cons-main>.cons-wrap>*:nth-child(4){animation-delay:.11s}
.cons-main>.cons-wrap>*:nth-child(5){animation-delay:.15s}
.cons-main>.cons-wrap>*:nth-child(6){animation-delay:.19s}
.cons-main>.cons-wrap>*:nth-child(n+7){animation-delay:.23s}
@media (prefers-reduced-motion:reduce){
  .cons-main>.cons-wrap>*,.mpanel{animation:none}
  .cons-card,.cons .fs,.cons-kpi div,.cons-tab svg,.cons-tab::after{transition:none}
}
/* telefon: o coloană, fără margini mari; titlul descrierii nu mai stă decalat */
@media (max-width:700px){
  .cons-main{padding:12px 12px calc(20px + env(safe-area-inset-bottom))}
  .cons-main>.cons-wrap{gap:12px}
  .cons-main>.cons-wrap>h2{font-size:19px}
  .cons-main>.cons-wrap>h2+p{margin:-6px 0 0 17px}
  .cons-card,.cons .fs{padding:13px 14px;border-radius:15px}
  .cons-tab::after{bottom:-7px}
  .cons input:not([type=checkbox]):not([type=radio]),.cons select{font-size:16px}
}
/* Motor: starea pe tot rândul, apoi cele patru grupuri unul lângă altul */
.cons-main[data-tab=motor]>.cons-wrap{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
/* Coloanele după câte carduri are tabul: titlul și descrierea trec peste toată grila, deci auto-fit
   nu mai strânge coloanele goale — 2 carduri ar fi lăsat o treime goală în dreapta. */
.cons-main>.cons-wrap:not(:has(>div:nth-of-type(3))){grid-template-columns:repeat(2,minmax(0,1fr))}
.cons-main>.cons-wrap:has(>div:nth-of-type(3)):not(:has(>div:nth-of-type(4))){grid-template-columns:repeat(3,minmax(0,1fr))}
/* Cont & chei: numele și cheia pe un rând, cât e cardul */
.cons .arow:has(#k-val)>div{display:flex;gap:8px;min-width:0}
#k-label{flex:0 0 36%;width:auto!important;min-width:0}
#k-val{flex:1 1 auto;width:auto!important;min-width:0}
#acc-new{display:block;margin:8px 0 0!important;width:min(280px,100%)!important}
@media (max-width:1000px){
  .cons-main>.cons-wrap:has(>div:nth-of-type(3)):not(:has(>div:nth-of-type(4))){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .cons-main>.cons-wrap,.cons-main[data-tab]>.cons-wrap{grid-template-columns:minmax(0,1fr)!important}
  .cons .arow:has(#k-val)>div{flex-direction:column}
  #k-label{flex:none}
}
/* ecrane joase (laptop 720–820px): mai strâns pe verticală, ca Motor să încapă fără sul */
@media (min-width:701px) and (max-height:820px){
  .cons-main{padding-top:12px;padding-bottom:12px}
  .cons-main>.cons-wrap{gap:11px 16px}
  .cons-main>.cons-wrap>h2{font-size:20px}
  .cons-main>.cons-wrap>h2+p{margin-top:-6px}
  .cons-card,.cons .fs{padding:11px 15px}
  .cons-card>h3{margin-bottom:8px}
  .cons-kpi div{padding:7px 11px 8px}
  .cons-kpi b{font-size:16px;margin-top:3px}
  .cons .fld{padding:6px 0}
  .cons-card .note{padding-top:7px;padding-bottom:7px}
  .cons-card .note[style*="margin-top"]{margin-top:7px!important}
}

/* ═══════════════ 19.10 — taburile comasate: coloane pline, fără carduri pe jumătate goale ═══════════════
   „Cont & echipă” și „Profil” adună cardurile mai multor taburi vechi în coloane; ultimul card din
   fiecare coloană se întinde, ca toate coloanele să se termine la aceeași linie. */
.cons-main>.cons-wrap.cons-mix{grid-template-columns:minmax(0,1fr)!important;align-content:start}
.cons-cols{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:16px 18px;align-items:stretch}
.cons-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.cons-col>.cons-card:last-child{flex:1 1 auto}
.cons-col>.cons-card{animation:consCard .38s cubic-bezier(.2,.8,.2,1) both}
.cons-col:nth-child(2)>.cons-card{animation-delay:.06s}
.cons-col:nth-child(3)>.cons-card{animation-delay:.12s}
.cons-col>.cons-card:nth-child(2){animation-delay:.09s}
.cons-col>.cons-card:nth-child(3){animation-delay:.15s}
.cons-cols .cons-card{grid-column:auto}
/* rolurile într-o coloană: 2×2 */
.cons-col .cons-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}
.cons-col .cons-kpi b{font-size:12px}
/* Jurnale: cele două liste una lângă alta, egale */
.cons-main[data-tab=jurnal]>.cons-wrap{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
/* tema: plăci mari cu numele, nu patru pătrățele în colț */
#theme-pick2{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:0}
#theme-pick2 .th{width:auto;height:58px;border-radius:13px;display:flex;align-items:flex-end;justify-content:space-between;
  padding:9px 11px;border:1px solid var(--line2);transition:transform .2s,box-shadow .2s,border-color .2s}
#theme-pick2 .th::after{content:attr(title);font:700 11.5px var(--head);letter-spacing:.04em}
#theme-pick2 .th i{width:16px;height:16px;border-radius:5px;order:2}
#theme-pick2 .th:hover{transform:translateY(-2px)}
#theme-pick2 .th.on{border-color:var(--cyan);box-shadow:0 0 0 2px color-mix(in srgb,var(--cyan) 45%,transparent),0 10px 24px -14px var(--cyan)}
#lang-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#lang-pick .btn{justify-content:center;padding:12px}
@media (max-width:1000px){ .cons-cols{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:700px){
  .cons-cols,.cons-main[data-tab=jurnal]>.cons-wrap{grid-template-columns:minmax(0,1fr)!important;gap:12px}
  .cons-col{gap:12px}
}
@media (prefers-reduced-motion:reduce){ .cons-col>.cons-card{animation:none} }
/* Profil: parola noua langa cea veche, cât e cardul */
.cons .arow:has(#p-new)>div{display:flex;gap:8px;min-width:0}
#p-old,#p-new{flex:1 1 0;width:auto!important;min-width:0}
@media (max-width:700px){ .cons .arow:has(#p-new)>div{flex-direction:column} }
@media (min-width:701px) and (max-height:820px){
  .cons-cols,.cons-col{gap:10px 14px}
  .cons-col .cons-kpi{gap:8px}
  .cons-col .cons-kpi div{padding:6px 10px 7px}
  .cons-mix .arow i{margin-top:1px}
}
@media (min-width:701px) and (max-height:820px){ .cons-col .cons-kpi b{font-size:11px;line-height:1.3;margin-top:2px} .cons-col .cons-kpi span{font-size:8.5px} }
@media (min-width:701px) and (max-height:820px){ .cons-main:has(>.cons-mix){padding-bottom:6px} }
/* 19.10: „toate prețurile sunt NET” — o singură dată, sus în grupul de limite */
.cons .fs-net{align-self:flex-start;margin:2px 0 6px;padding:4px 10px;border-radius:8px;font:700 10.5px var(--mono);letter-spacing:.06em;
  text-transform:uppercase;color:var(--cyan);background:color-mix(in srgb,var(--cyan) 10%,transparent);border:1px solid color-mix(in srgb,var(--cyan) 30%,transparent)}
/* 19.10: unitatea în dreapta câmpului (%, h) — afișată, nu tastată */
.insuf{position:relative;display:inline-block}
.insuf::after{content:attr(data-u);position:absolute;right:11px;top:50%;transform:translateY(-50%);pointer-events:none;
  font:700 12px var(--mono);color:var(--cyan);opacity:.75}
.cons .insuf>input{padding-right:30px!important}
/* 19.10: Limite — fără previzualizare. Cu preț manual: limitele | prețul manual, aceeași înălțime.
   Fără (Toate mașinile): limitele pe tot rândul, câmpurile pe două coloane. */
.cons .mpanel{align-items:stretch}
.cons .mp-col>.fs{flex:1 1 auto;margin:0}
.cons .mpanel.solo{grid-template-columns:minmax(0,1fr)}
.cons .mpanel.solo .fs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px;align-content:start}
.cons .mpanel.solo .fs>legend,.cons .mpanel.solo .fs>.fs-net{grid-column:1/-1;justify-self:start}
/* ordinea: prețurile în stânga (pornire, minim, maxim), coborârea în dreapta (procent, ore) */
.cons .mpanel.solo .fs>.fld{order:9}
.cons .mpanel.solo .fs>.fld:has(#x_pret_pornire_net){order:1}
.cons .mpanel.solo .fs>.fld:has(#x_scadere_pct){order:2}
.cons .mpanel.solo .fs>.fld:has(#x_pret_minim_net){order:3}
.cons .mpanel.solo .fs>.fld:has(#x_ore_scadere){order:4;border-bottom:0}
.cons .mpanel.solo .fs>.fld:has(#x_pret_maxim_net){order:5;border-bottom:0}
@media (max-width:900px){ .cons .mpanel.solo .fs{grid-template-columns:minmax(0,1fr)} .cons .mpanel.solo .fs>.fld{order:0!important}
  .cons .mpanel.solo .fs>.fld:has(#x_ore_scadere){border-bottom:1px dashed rgba(120,160,255,.10)} }
.cons .mp-col>:last-child{flex:1 1 auto}
/* prețul manual lângă limite: titlul stă pe marginea cardului, ca legenda limitelor — cele două carduri încep pe aceeași linie */
.cons .mpanel .mp-col>h3.sub{position:relative;z-index:2;align-self:flex-start;margin:0 0 -22px 18px;padding:0 8px;
  background:var(--bg);font:700 12px var(--head);letter-spacing:.16em;color:var(--cyan);line-height:16px}
.cons .mpanel .mp-col>h3.sub>.muted{display:none}
/* 19.10: banda cardurilor din Limite — loc deasupra pentru ridicarea la hover, fără sul vertical, puțin mai jos de bara de sus */


/* 19.10: aura cardului ales (umbra de 22px) era tăiată drept de marginea benzii — banda are acum loc
   pentru ea de jur împrejur, iar marginile negative țin cardurile exact unde erau */



/* ── 20.10: bara de preț deasupra „Preț dorit" ── */
.pd-box{position:relative;margin:4px 0 8px}
.cons .mpanel.solo .fs>.pd-box{grid-column:1/-1}
.pdb{--pdc:var(--green);position:relative;border:1px solid var(--line2);border-radius:14px;overflow:hidden;
  background:radial-gradient(120% 140% at var(--pdx,50%) 0%,color-mix(in srgb,var(--pdc) var(--pd-halo,9%),transparent),transparent 60%),var(--pd-box);transition:background .3s}
.pdb-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:12px 14px 4px}
.pdb-now small,.pdb-live small{display:block;font:700 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pdb-now b{display:block;font:700 15px var(--mono);color:var(--txt);margin-top:2px}
.pdb-now span{font:500 10.5px var(--head);color:var(--muted)}
.pdb-live{text-align:right;min-width:0}
.pdb-live>div{display:flex;align-items:baseline;justify-content:flex-end;gap:8px}
.pdb-v{font:800 26px/1 var(--mono);color:var(--pdc);text-shadow:0 0 18px color-mix(in srgb,var(--pdc) 45%,transparent);transition:color .2s;font-variant-numeric:tabular-nums}
.pdb-d{font:700 12px var(--mono);color:var(--muted)} .pdb-d.up{color:rgb(var(--pd-g))} .pdb-d.dn{color:rgb(var(--pd-r))}
.pdb-live small.pdb-z{margin-top:5px;text-transform:none;letter-spacing:0;font:600 11px var(--head);color:var(--pdc);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdb-rail{position:relative;height:30px;margin:74px 26px 34px;cursor:pointer;touch-action:none;user-select:none}
.pdb-tr{position:absolute;left:0;right:0;top:11px;height:8px;border-radius:99px;opacity:.9;
  box-shadow:0 0 var(--pd-glow) -2px rgb(var(--pd-g) / .35),inset 0 1px 0 rgba(255,255,255,var(--pd-shine,.25))}
.pdb-tk{position:absolute;left:0;right:0;top:9px;height:12px;pointer-events:none;opacity:.35;
  background:repeating-linear-gradient(90deg,var(--pd-ink) 0 1px,transparent 1px 5%)}
.pdb-dl{position:absolute;top:7px;height:16px;border-radius:4px;pointer-events:none;
  background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--pdc) 40%,transparent) 0 4px,transparent 4px 8px);
  border:1px solid color-mix(in srgb,var(--pdc) 60%,transparent);background-size:11.3px 11.3px;animation:pdbFlow 1s linear infinite}
.pdb-dl.dn{animation-direction:reverse}
@keyframes pdbFlow{to{background-position:11.3px 0}}
.pdb-mk{position:absolute;top:0;width:2px;height:30px;margin-left:-1px;padding:0;border:0;background:none;color:inherit;font:inherit}
.pdb-mk span{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;text-align:center;font:600 10px var(--head);color:var(--muted)}
.pdb-mk span b{display:block;font:700 11.5px var(--mono)}
.pdb-mk.cur i{position:absolute;left:0;top:6px;width:2px;height:18px;border-radius:2px;background:var(--txt);opacity:.75}
.pdb-mk.cur span{top:30px}
.pdb-mk.rec,.pdb-mk.mx{cursor:pointer}
.pdb-mk.rec i{position:absolute;left:-8px;top:-19px;width:18px;height:20px;background:rgb(var(--pd-g));
  clip-path:polygon(28% 0,72% 0,72% 46%,100% 46%,50% 100%,0 46%,28% 46%);filter:drop-shadow(0 0 calc(var(--pd-glow) * .6) rgb(var(--pd-g)));animation:pdbBob 1.8s ease-in-out infinite}
.pdb-mk.rec span{bottom:52px;color:rgb(var(--pd-g))}
.pdb-mk.mx i{position:absolute;left:-5px;top:9px;width:12px;height:12px;transform:rotate(45deg);border-radius:2px;background:rgb(var(--pd-y));box-shadow:0 0 var(--pd-glow) rgb(var(--pd-y));border:2px solid var(--pd-ink)}
.pdb-mk.mx span{bottom:30px;color:rgb(var(--pd-y))}
.pdb.near .pdb-mk.mx span{bottom:auto;top:30px}
.pdb-mk.al span{left:-6px;transform:none;text-align:left} .pdb-mk.ar span{left:auto;right:-6px;transform:none;text-align:right}
.pdb-mk:hover span{filter:brightness(1.25)}
.pdb-mk.hit.rec i{animation:pdbPop .45s ease-out}
.pdb-mk.hit.mx i{box-shadow:0 0 18px rgb(var(--pd-y)),0 0 0 4px rgb(var(--pd-y) / .3)}
@keyframes pdbBob{50%{transform:translateY(-4px)}}
@keyframes pdbPop{40%{transform:scale(1.35)}}
.pdb-th{position:absolute;top:15px;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;z-index:2;cursor:grab;
  background:radial-gradient(circle at 35% 30%,#fff 0 18%,var(--pdc) 60%);border:3px solid var(--pd-ink);
  box-shadow:0 0 0 2px var(--pdc),0 0 calc(var(--pd-glow) * 2) var(--pdc);transition:transform .15s,box-shadow .2s}
.pdb-th em{position:absolute;inset:-9px;border-radius:50%;border:2px solid var(--pdc);opacity:.0;animation:pdbRing 2.4s ease-out infinite}
@keyframes pdbRing{0%{opacity:.55;transform:scale(.6)}100%{opacity:0;transform:scale(1.5)}}
.pdb-th:focus-visible{outline:none;box-shadow:0 0 0 2px var(--pdc),0 0 0 6px color-mix(in srgb,var(--pdc) 30%,transparent),0 0 22px var(--pdc)}
.pdb.drag .pdb-th{transform:scale(1.18);cursor:grabbing}
.pdb.drag .pdb-rail{cursor:grabbing}
.pdb.jump .pdb-th,.pdb.jump .pdb-dl{transition:left .4s cubic-bezier(.3,1.4,.5,1),width .4s cubic-bezier(.3,1.4,.5,1),transform .15s}
.pdb-ax{display:flex;justify-content:space-between;padding:0 14px 8px;font:600 10px var(--mono);color:var(--muted);opacity:.8}
@media (max-width:700px){ .pdb-v{font-size:21px} .pdb-rail{margin:72px 20px 32px} }
@media (prefers-reduced-motion:reduce){ .pdb-dl,.pdb-mk.rec i,.pdb-th em{animation:none} }
.pdb-mk.cur.out i{background:var(--red);opacity:1;box-shadow:0 0 8px var(--red)}
.pdb-mk.cur.out span{color:var(--red);font-weight:700}

/* 20.10: paleta barei pe fiecare temă — roșu/portocaliu/verde/galben ca „r,g,b", fundalul cutiei, cerneala (riglă,
   marginea butonului) și cât de tare strălucește. Mono n-are culoare: zonele se citesc din lumină (bun = alb, rău = stins). */
:root{--pd-r:251,113,133;--pd-o:251,146,60;--pd-g:52,211,153;--pd-y:251,191,36;
  --pd-box:rgba(6,10,20,.45);--pd-ink:rgba(6,10,20,.88);--pd-ink6:rgba(6,10,20,.6);--pd-glow:12px;--pd-halo:10%}
:root[data-theme="ice"]{--pd-r:244,114,182;--pd-o:253,164,129;--pd-g:94,234,212;--pd-y:253,224,71;
  --pd-box:linear-gradient(180deg,rgba(125,211,252,.06),rgba(8,16,30,.55));--pd-ink:rgba(6,11,20,.9);--pd-ink6:rgba(8,16,30,.7);--pd-glow:14px;--pd-halo:12%}
:root[data-theme="nord"]{--pd-r:191,97,106;--pd-o:208,135,112;--pd-g:163,190,140;--pd-y:235,203,139;
  --pd-box:rgba(36,48,62,.55);--pd-ink:rgba(14,20,27,.9);--pd-ink6:rgba(20,28,38,.75);--pd-glow:6px;--pd-halo:7%;--pd-shine:.12}
:root[data-theme="mono"]{--pd-r:142,92,100;--pd-o:160,128,104;--pd-g:208,242,224;--pd-y:212,198,150;    /* 20.10: o urmă de culoare */
  --pd-box:rgba(255,255,255,.03);--pd-ink:rgba(10,10,11,.92);--pd-ink6:rgba(20,20,22,.8);--pd-glow:10px;--pd-halo:6%;--pd-shine:.35}
:root[data-theme="mono"] .pdb-tr{box-shadow:0 0 0 1px rgba(255,255,255,.12),inset 0 1px 0 rgba(255,255,255,.35)}
:root[data-theme="mono"] .pdb-mk.rec i{clip-path:polygon(28% 0,72% 0,72% 46%,100% 46%,50% 100%,0 46%,28% 46%)}
:root[data-theme="nord"] .pdb-th em{display:none}
:root[data-theme="mono"] .pdb-v,:root[data-theme="mono"] .pdb-live small.pdb-z{color:color-mix(in srgb,var(--pdc) 45%,var(--txt))}
:root[data-theme="mono"] .pdb-th{box-shadow:0 0 0 2px rgba(255,255,255,.75),0 0 calc(var(--pd-glow) * 2) var(--pdc)}

/* 20.10: „recomandat" = cererea pieței acum — săgeată inversă, sub bară (sus rămâne „optim") */
:root{--pd-c:34,211,238} :root[data-theme="ice"]{--pd-c:165,180,252} :root[data-theme="nord"]{--pd-c:136,192,208}
:root[data-theme="mono"]{--pd-c:196,220,236}
.pdb.cu-cer .pdb-rail{margin-bottom:62px}
.pdb-mk.cer{cursor:pointer}
.pdb-mk.cer i{position:absolute;left:-8px;top:29px;width:18px;height:20px;background:rgb(var(--pd-c));
  clip-path:polygon(50% 0,100% 54%,72% 54%,72% 100%,28% 100%,28% 54%,0 54%);
  filter:drop-shadow(0 0 calc(var(--pd-glow) * .6) rgb(var(--pd-c)));animation:pdbBobUp 1.8s ease-in-out infinite}
.pdb-mk.cer span{top:50px;color:rgb(var(--pd-c))}
.pdb-mk.hit.cer i{animation:pdbPop .45s ease-out}
.pdb.cu-cer .pdb-mk.cur span{top:30px}
.pdb.cer-acum .pdb-mk.cur span{display:none}
.pdb.cu-cer.near .pdb-mk.mx span{bottom:30px;top:auto}
@keyframes pdbBobUp{50%{transform:translateY(4px)}}
@media (prefers-reduced-motion:reduce){ .pdb-mk.cer i{animation:none} }

/* ── 20.10: caruselul de mașini fără bară de derulare: margini estompate, săgeți plutitoare, tragere ── */







@property --fl{syntax:'<length>';inherits:false;initial-value:0px}
@property --fr{syntax:'<length>';inherits:false;initial-value:0px}






/* 20.10: Mono — punctul de stare din card rămâne colorat, dar spălăcit (verde = plină, nisip = parțial, roz = liberă) */
:root[data-theme="mono"] .mc-top .dot.full{background:#6fd49a;box-shadow:0 0 9px rgba(111,212,154,.85)}
:root[data-theme="mono"] .mc-top .dot.mid{background:#e3c76f;box-shadow:0 0 9px rgba(227,199,111,.85)}
:root[data-theme="mono"] .mc-top .dot.bad{background:#ec7486;box-shadow:0 0 9px rgba(236,116,134,.85)}

/* ── 20.10: tema — glob + paletă (pe telefon foaie de jos) ── */
#cons-theme{display:flex;align-items:center;margin-left:auto;margin-right:8px}
.tp-orb{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px 0 5px;border-radius:99px;cursor:pointer;
  border:1px solid var(--line2);background:color-mix(in srgb,var(--panel2) 85%,transparent);color:var(--txt);
  font:700 12px var(--head);letter-spacing:.04em;transition:border-color .2s,box-shadow .2s,transform .15s}
.tp-orb:hover,.tp-orb[aria-expanded="true"]{border-color:var(--ta);box-shadow:0 0 16px -4px var(--ta)}
.tp-orb:active{transform:scale(.96)}
.tp-orb svg{width:14px;height:14px;color:var(--muted);transition:transform .2s}
.tp-orb[aria-expanded="true"] svg{transform:rotate(180deg)}
.tp-ball{width:24px;height:24px;border-radius:50%;position:relative;overflow:hidden;
  background:conic-gradient(from 200deg,var(--ta),var(--t2),var(--tb) 55%,var(--ta));
  box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 0 10px -2px var(--ta);animation:tpSpin 9s linear infinite}
.tp-ball::after{content:"";position:absolute;inset:5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.55),transparent 55%)}
@keyframes tpSpin{to{transform:rotate(360deg)}}
.tp-bg{position:fixed;inset:0;z-index:9998;background:transparent;transition:background .2s}
.tp-bg.sheet.in{background:rgba(0,0,0,.45)}
.tp-pop{position:fixed;z-index:9999;width:340px;padding:12px;border-radius:18px;
  background:color-mix(in srgb,var(--panel2) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid var(--line2);box-shadow:0 24px 60px rgba(0,0,0,.55);
  opacity:0;transform:translateY(-6px) scale(.97);transform-origin:top right;transition:opacity .2s,transform .2s}
.tp-pop.in{opacity:1;transform:none}
.tp-h{font:700 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:2px 4px 10px}
.tp-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tp-card{display:flex;flex-direction:column;gap:3px;padding:7px 7px 9px;border-radius:14px;cursor:pointer;text-align:left;
  border:1.5px solid var(--line);background:rgba(255,255,255,.02);color:var(--txt);font:inherit;transition:border-color .15s,transform .15s,box-shadow .15s}
.tp-card:hover,.tp-card:focus-visible{outline:none;border-color:var(--cyan);transform:translateY(-2px);box-shadow:0 8px 20px -8px var(--cyan)}
.tp-card.on{border-color:var(--cyan);box-shadow:0 0 0 2px color-mix(in srgb,var(--cyan) 25%,transparent)}
.tp-card b{font:700 13px var(--head);margin:6px 3px 0;display:flex;align-items:center;gap:6px}
.tp-card.on b::after{content:"✓";color:var(--cyan);font-size:12px}
.tp-card small{font:500 10.5px var(--head);color:var(--muted);margin:0 3px;line-height:1.3}
.tp-prev{position:relative;display:block;height:72px;border-radius:10px;overflow:hidden;background:var(--tb);
  box-shadow:0 0 0 1px rgba(255,255,255,.08) inset}
.tp-prev::before{content:"";position:absolute;inset:-30% -10% auto auto;width:70%;height:90%;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--ta) 35%,transparent),transparent 70%)}
.tp-prev i{position:absolute;display:block;border-radius:4px}
.tp-l1{left:9px;top:10px;width:46%;height:7px;background:var(--ta);opacity:.9}
.tp-l2{left:9px;top:22px;width:62%;height:16px;background:var(--tp);border:1px solid rgba(255,255,255,.08)}
.tp-dot{right:10px;top:10px;width:9px;height:9px;border-radius:50% !important;background:var(--t2);box-shadow:0 0 8px var(--t2)}
.tp-bar{left:9px;right:9px;bottom:11px;height:6px;border-radius:99px !important}
.tp-pop.sheet{left:0;right:0;bottom:0;top:auto !important;width:auto;border-radius:22px 22px 0 0;
  padding:8px 16px max(18px,env(safe-area-inset-bottom));transform:translateY(100%);transform-origin:bottom}
.tp-pop.sheet.in{transform:none}
.tp-grip{display:block;width:42px;height:5px;border-radius:9px;background:var(--line2);margin:2px auto 12px}
.tp-pop.sheet .tp-prev{height:84px}
.tp-pop.sheet .tp-card{padding:8px 8px 11px}
@media (max-width:700px){ #cons-theme{margin-right:2px} .tp-orb .tp-nm,.tp-orb svg{display:none} .tp-orb{padding:0 5px;width:38px;justify-content:center} }
@media (prefers-reduced-motion:reduce){ .tp-ball{animation:none} .tp-pop,.tp-pop.sheet{transition:none} }
/* 20.10: cărțile de temă și în Profil */
#theme-pick2[data-ready="tp"]{display:block}
#theme-pick2 .tp-grid{grid-template-columns:1fr 1fr}
#theme-pick2 .tp-prev{height:78px}

/* ── 20.10: Licențe (sysadmin) ── */
.adm-kpi{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:4px 0 14px}
.adm-kpi>div{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--panel)}
.adm-kpi b{display:block;font:800 22px/1.1 var(--mono);color:var(--txt)} .adm-kpi span{font:600 11px var(--head);color:var(--muted)}
.adm-kpi .aten b{color:var(--amber)} .adm-kpi .rau b{color:var(--red)}
.adm-bar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap}
.adm-bar input{flex:0 1 280px;min-width:180px}
.adm-f a{cursor:pointer}
.adm-list{display:flex;flex-direction:column;gap:6px}
.adm-h,.adm-row{display:grid;grid-template-columns:minmax(170px,1.4fr) 90px minmax(190px,1.3fr) minmax(170px,1.3fr) 100px 80px;gap:14px;align-items:center}
.adm-h{padding:0 14px;font:700 9.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.adm-row{padding:11px 14px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--txt);text-align:left;font:inherit;cursor:pointer;
  transition:border-color .15s,transform .15s,box-shadow .15s}
.adm-row:hover{border-color:var(--cyan);transform:translateY(-1px);box-shadow:0 10px 24px -16px var(--cyan)}
.adm-acc b{display:block;font:700 14px var(--head)} .adm-acc small{font:500 11px var(--head);color:var(--muted)}
.adm-acc em{font-style:normal;color:var(--violet)} .adm-acc em.w{color:var(--amber)}
.adm-lvl{display:inline-block;padding:3px 10px;border-radius:99px;font:800 11px var(--mono);letter-spacing:.06em;border:1px solid var(--line2);color:var(--muted)}
.adm-lvl.pro{color:var(--cyan);border-color:color-mix(in srgb,var(--cyan) 55%,transparent);background:color-mix(in srgb,var(--cyan) 10%,transparent)}
.adm-lvl.pro_plus{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 60%,transparent);
  background:linear-gradient(90deg,color-mix(in srgb,var(--amber) 16%,transparent),color-mix(in srgb,var(--mag) 14%,transparent));box-shadow:0 0 12px -4px var(--amber)}
.adm-lvl.off{opacity:.55;text-decoration:line-through}
.adm-per{display:flex;flex-direction:column;gap:3px;min-width:0}
.adm-per-d{display:flex;justify-content:space-between;gap:8px;font:600 10.5px var(--mono);color:var(--muted)}
.adm-per-b{display:block;height:5px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.adm-per-b b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--green))}
.adm-per small{font:600 11px var(--head);color:var(--green)}
.adm-per.aten small{color:var(--amber)} .adm-per.aten .adm-per-b b{background:linear-gradient(90deg,var(--amber),var(--amber))}
.adm-per.rau small,.adm-per.exp small{color:var(--red)} .adm-per.rau .adm-per-b b,.adm-per.exp .adm-per-b b{background:var(--red)}
.adm-park b{font:800 15px var(--mono)} .adm-park small{font:600 10.5px var(--head);color:var(--muted)}
.adm-oc{display:block;height:4px;margin:4px 0 2px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.adm-oc b{display:block;height:100%;background:var(--green)}
.adm-mod{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adm-v{font:800 14px var(--mono);color:var(--green)}
.adm-go{font:700 11px var(--head);color:var(--muted);text-align:right} .adm-row:hover .adm-go{color:var(--cyan)}
/* fereastra unui cont */
.adm-d{display:flex;flex-direction:column;gap:14px}
.adm-d-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.adm-d-top .adm-per{min-width:260px}
.adm-sec{padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--panel)}
.adm-sec h4{margin:0 0 10px;font:700 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.adm-sec h4 small{letter-spacing:0;text-transform:none;font:600 11px var(--head);margin-left:8px}
.adm-lic{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.adm-lic label{display:flex;align-items:center;gap:8px;font:600 11px var(--head);color:var(--muted)}
.adm-lic #adm-nota{flex:1;min-width:180px}
.adm-q{display:flex;gap:4px} .adm-q .btn{padding:6px 10px;font-size:11.5px}
.adm-cmp{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}
.adm-cmp>div{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.adm-cmp span{display:block;font:600 11px var(--head);color:var(--muted)} .adm-cmp b{font:800 20px var(--mono)} .adm-cmp small{font:600 10.5px var(--head);color:var(--muted);margin-left:4px}
.adm-cmp .du b{color:var(--cyan)} .adm-cmp .up b{color:var(--green)} .adm-cmp .dn b{color:var(--red)}
.adm-svg{display:block;width:100%;height:170px}
.adm-svg rect.inainte{fill:color-mix(in srgb,var(--muted) 55%,transparent)} .adm-svg rect.dupa{fill:var(--cyan)}
.adm-svg rect:hover{fill:var(--amber)}
.adm-svg line.start{stroke:var(--amber);stroke-width:2;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}
.adm-svg line.m-in{stroke:var(--txt);stroke-width:1.5;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;opacity:.7}
.adm-svg line.m-du{stroke:var(--green);stroke-width:2;vector-effect:non-scaling-stroke}
.adm-ax{display:flex;justify-content:space-between;font:600 10.5px var(--mono);color:var(--muted);margin-top:4px} .adm-ax .st{color:var(--amber)}
.adm-m{padding:10px 0;border-top:1px solid var(--line)} .adm-m:first-of-type{border-top:0}
.adm-m-h{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font:600 12.5px var(--head);margin-bottom:4px}
.adm-m-h b{font-family:var(--mono)} .adm-cod{font:800 11px var(--mono);color:var(--cyan)}
.adm-u{display:flex;gap:12px;align-items:baseline;padding:4px 0;font:600 12.5px var(--head)}
@media (max-width:1100px){ .adm-kpi{grid-template-columns:repeat(3,1fr)} }
@media (max-width:820px){
  .adm-h{display:none}
  .adm-row{grid-template-columns:1fr auto;grid-template-areas:"acc lvl" "per per" "park v";row-gap:8px}
  .adm-row>span:nth-child(1){grid-area:acc} .adm-row>span:nth-child(2){grid-area:lvl;justify-self:end}
  .adm-row>span:nth-child(3){grid-area:per} .adm-row>span:nth-child(4){grid-area:park} .adm-row>span:nth-child(5){grid-area:v;justify-self:end}
  .adm-go{display:none} .adm-cmp{grid-template-columns:1fr 1fr 1fr} .adm-cmp b{font-size:16px}
}
@media (max-width:520px){ .adm-kpi{grid-template-columns:1fr 1fr} .adm-bar input{flex:1 1 100%} .adm-cmp{grid-template-columns:1fr} }
.modal:has(.adm-modal){z-index:80}
.cons-main>.cons-wrap.adm{display:block}
.cons-wrap.adm>h2{margin-bottom:6px} .cons-wrap.adm>p{max-width:820px}
.adm-sec{margin:0}
.adm-d>section+section{margin-top:0}
.adm-d:not(.demo) .hw-note{display:none}

/* ── 20.10: Echipă — coduri de invitație, owner fix ── */
.inv-cod-box{margin-top:10px}
.inv-cod{display:block;margin:8px 0;padding:10px 12px;border-radius:10px;font:600 13px/1.5 var(--mono);letter-spacing:.04em;
  word-break:break-all;user-select:all;cursor:text;color:var(--cyan);background:rgba(0,0,0,.35);border:1px dashed color-mix(in srgb,var(--cyan) 45%,transparent)}
.inv-copy{display:flex;gap:8px;flex-wrap:wrap}
.btn.inv-adm{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 55%,transparent);background:color-mix(in srgb,var(--amber) 9%,transparent)}
.btn.inv-adm:hover{box-shadow:0 0 14px -4px var(--amber)}
.tm-rol{display:inline-block;padding:5px 11px;border-radius:9px;font:700 11.5px var(--mono);color:var(--muted);border:1px solid var(--line2)}
.tm-rol.owner{color:var(--cyan);border-color:color-mix(in srgb,var(--cyan) 45%,transparent)}
.tm-rol.admin{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent)}

/* ── 20.10: confirmarea în temă (în locul ferestrei browserului) ── */
.cf-bg{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:16px;
  background:rgba(3,5,10,0);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transition:background .18s,backdrop-filter .18s}
.cf-bg.in{background:rgba(3,5,10,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.cf-bg{--cf:var(--cyan)} .cf-bg.rau{--cf:var(--red)} .cf-bg.aten{--cf:var(--amber)}
.cf-box{width:min(420px,100%);padding:22px 22px 18px;border-radius:20px;text-align:center;
  background:color-mix(in srgb,var(--panel2) 96%,var(--cf) 4%);border:1px solid color-mix(in srgb,var(--cf) 40%,var(--line2));
  box-shadow:0 30px 80px -20px #000,0 0 50px -24px var(--cf);opacity:0;transform:translateY(10px) scale(.96);transition:opacity .18s,transform .18s}
.cf-bg.in .cf-box{opacity:1;transform:none}
.cf-ico{width:54px;height:54px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;color:var(--cf);
  background:color-mix(in srgb,var(--cf) 12%,transparent);box-shadow:0 0 0 6px color-mix(in srgb,var(--cf) 6%,transparent),0 0 24px -6px var(--cf)}
.cf-t{font:700 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--cf);margin-bottom:8px}
.cf-m{font:500 14.5px/1.5 var(--head);color:var(--txt);margin:0 4px 18px;overflow-wrap:anywhere}
.cf-b{display:flex;gap:10px;justify-content:center}
.cf-b .btn{flex:1;min-height:42px;font-size:13px}
.cf-yes{color:#06101c;font-weight:800;border-color:transparent;background:var(--cf);box-shadow:0 8px 22px -10px var(--cf)}
.cf-yes:hover{filter:brightness(1.08)}
.cf-b .btn:focus-visible{outline:2px solid var(--cf);outline-offset:2px}
:root[data-theme="mono"] .cf-yes{color:#0a0a0b}
@media (prefers-reduced-motion:reduce){ .cf-bg,.cf-box{transition:none} }

/* ══ 20.10: setările urmează tema — culorile fixe (navy/cyan scrise de mână) refăcute din variabilele temei ══ */
.cons{--c-mix:color-mix(in srgb,var(--panel2) 92%,transparent);--c-in:color-mix(in srgb,var(--bg) 78%,var(--panel2))}
.cons-top{background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 97%,transparent),color-mix(in srgb,var(--bg) 88%,var(--panel2)))}
.cons-tab:hover{background:color-mix(in srgb,var(--cyan) 7%,transparent)}
.cons-tab.on{background:color-mix(in srgb,var(--cyan) 12%,transparent);border-color:color-mix(in srgb,var(--cyan) 45%,transparent)}
.cons-bar{border-top-color:color-mix(in srgb,var(--amber) 45%,transparent);background:color-mix(in srgb,var(--amber) 7%,var(--bg))}
.cons-card,.cons .fs{background:linear-gradient(160deg,color-mix(in srgb,var(--panel2) 88%,transparent),color-mix(in srgb,var(--bg) 70%,var(--panel)))}
.cons-kpi div{background:linear-gradient(180deg,color-mix(in srgb,var(--txt) 4%,transparent),color-mix(in srgb,var(--txt) 1%,transparent))}
.cons .btn{background:var(--c-mix)}
.cons .btn.accent{border-color:color-mix(in srgb,var(--cyan) 50%,transparent)}
.cons .btn.warn{border-color:color-mix(in srgb,var(--amber) 50%,transparent)}
.cons .btn.danger{border-color:color-mix(in srgb,var(--red) 50%,transparent)}
.cons .fs.master{border-color:color-mix(in srgb,var(--red) 35%,transparent);
  background:linear-gradient(180deg,color-mix(in srgb,var(--red) 10%,var(--bg)),color-mix(in srgb,var(--bg) 70%,var(--panel)))}
.cons .fld{border-bottom-color:color-mix(in srgb,var(--line) 75%,transparent)}
.cons .fld label{color:color-mix(in srgb,var(--txt) 85%,var(--muted))}
.cons input:not([type=checkbox]):not([type=radio]):not([type=range]),.cons select,.cons textarea,
.cons .fld input[type=number],.cons .fld input[inputmode=decimal],.cons .fld select,.demo-row input{background:var(--c-in)}
.cons input:not([type=checkbox]):not([type=radio]):focus,.cons select:focus,.cons textarea:focus{background:color-mix(in srgb,var(--bg) 90%,var(--cyan) 10%)}
.cons select option{background:var(--bg);color:var(--txt)}
.cons input.bad{box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 16%,transparent)}
.cons .seg{background:color-mix(in srgb,var(--bg) 70%,transparent)}
.cons .seg a{color:var(--muted)}
.cons .seg a.on{background:linear-gradient(180deg,color-mix(in srgb,var(--cyan) 35%,transparent),color-mix(in srgb,var(--cyan) 15%,transparent));
  color:var(--txt);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cyan) 50%,transparent)}
.cons .seg a.on.red{background:linear-gradient(180deg,color-mix(in srgb,var(--red) 40%,transparent),color-mix(in srgb,var(--red) 15%,transparent));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--red) 60%,transparent)}
.cons .note,.modal .note{color:color-mix(in srgb,var(--amber) 72%,var(--txt));background:color-mix(in srgb,var(--amber) 8%,transparent);
  border-color:color-mix(in srgb,var(--amber) 30%,transparent)}
.cons .note.ok-note,.modal .note.ok-note{color:color-mix(in srgb,var(--green) 72%,var(--txt));background:color-mix(in srgb,var(--green) 8%,transparent);
  border-color:color-mix(in srgb,var(--green) 30%,transparent)}
.cons .unit{background:color-mix(in srgb,var(--cyan) 12%,transparent)}
.cons .arow.on{background:color-mix(in srgb,var(--cyan) 5%,transparent)}
.cons .hwline,.modal .hwline{background:color-mix(in srgb,var(--mag) 7%,transparent);border-color:color-mix(in srgb,var(--mag) 22%,transparent)}
.cons .hwline .hw-more,.cons .hw-dl dt,.modal .hwline .hw-more,.modal .hw-dl dt{color:var(--mag)}
.cons .hw-dl,.modal .hw-dl{border-top-color:color-mix(in srgb,var(--mag) 22%,transparent)}
.cons .demo-chip{background:var(--c-in)}
.cons .demo-x:hover{background:color-mix(in srgb,var(--red) 12%,transparent)}
.cons .pctbar{background:color-mix(in srgb,var(--bg) 70%,transparent)}
.cons .pctbar i{background:linear-gradient(90deg,var(--cyan),color-mix(in srgb,var(--cyan) 70%,var(--mag)));box-shadow:0 0 8px color-mix(in srgb,var(--cyan) 50%,transparent)}
.cons .inv-cod{background:color-mix(in srgb,var(--bg) 60%,transparent)}

:root[data-theme="mono"] .cons .seg a.on{color:var(--bg);background:var(--txt);box-shadow:none}
:root[data-theme="mono"] .cons-tab.on{color:var(--bg);background:var(--txt);border-color:var(--txt)}
:root[data-theme="mono"] .cons-tab.on i,:root[data-theme="mono"] .cons-tab.on svg{color:var(--bg)}

/* ══ 20.10: telefon — bara de taburi nu se mai trage în sus/jos (derula pe verticală în ea însăși și sărea înapoi) ══ */
.cons{overscroll-behavior:none;touch-action:manipulation}
.cons-top{touch-action:pan-x;overscroll-behavior:none}
.cons-rail{overflow-y:hidden;overscroll-behavior:contain;touch-action:pan-x}
.cons-main{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}


/* 20.10: Mono în setări — nu chiar fără culoare: verde, roșu și galben spălăcite, ca stările să se citească */
:root[data-theme="mono"] .cons,:root[data-theme="mono"] .cf-bg,:root[data-theme="mono"] .modal:has(.adm-modal){
  --green:#8fd1aa;--red:#e08d9a;--amber:#d9c487;--good:#8fd1aa;--bad:#e08d9a;--warn:#d9c487}

/* ── 20.10: calendarul în temă (licența: „valabilă până la") ── */
.dp{position:relative;display:inline-block}
.dp-btn{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;cursor:pointer;font:700 12.5px var(--mono);
  color:var(--txt);background:color-mix(in srgb,var(--bg) 78%,var(--panel2));border:1px solid var(--line2);transition:border-color .15s,box-shadow .15s}
.dp-btn svg{color:var(--cyan)} .dp-btn.gol b{color:var(--muted);font-weight:600}
.dp-btn:hover,.dp.open .dp-btn{border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 15%,transparent)}
.dp-pop{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:276px;padding:12px;border-radius:16px;
  background:color-mix(in srgb,var(--panel2) 97%,transparent);border:1px solid var(--line2);backdrop-filter:blur(12px);
  box-shadow:0 22px 50px -14px #000,0 0 30px -18px var(--cyan);animation:dpIn .16s ease}
@keyframes dpIn{from{opacity:0;transform:translateY(-6px)}}
.dp-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.dp-h b{font:700 13px var(--head);text-transform:capitalize;color:var(--txt)}
.dp-h button{width:30px;height:30px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--txt);cursor:pointer;font:700 16px var(--head)}
.dp-h button:hover{border-color:var(--cyan);color:var(--cyan)}
.dp-g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.dp-g i{font:700 9.5px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:center;font-style:normal;padding:4px 0}
.dp-g button{height:32px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--txt);cursor:pointer;font:600 12.5px var(--mono);transition:background .12s}
.dp-g button:hover{background:color-mix(in srgb,var(--cyan) 14%,transparent)}
.dp-g button.trecut{color:color-mix(in srgb,var(--muted) 70%,transparent)}
.dp-g button.azi{border-color:color-mix(in srgb,var(--cyan) 55%,transparent)}
.dp-g button.on{background:var(--cyan);color:var(--bg);font-weight:800;box-shadow:0 0 14px -3px var(--cyan)}
.dp-f{display:flex;justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}
.dp-f button{border:0;background:none;cursor:pointer;font:700 11.5px var(--head);color:var(--cyan);padding:4px 6px;border-radius:7px}
.dp-f button:hover{background:color-mix(in srgb,var(--cyan) 10%,transparent)}
.dp-f button[data-gol]{color:var(--muted)}
@media (max-width:520px){ .dp-pop{position:fixed;left:50%;top:auto;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(320px,calc(100vw - 32px))} }
.adm-lic .dp-l{display:flex;align-items:center;gap:8px;font:600 11px var(--head);color:var(--muted)}
.adm-d input:not([type=hidden]){font:600 12.5px var(--mono);padding:8px 11px;border-radius:10px;color:var(--txt);outline:none;
  background:color-mix(in srgb,var(--bg) 78%,var(--panel2));border:1px solid var(--line2);transition:border-color .15s,box-shadow .15s}
.adm-d input:not([type=hidden]):focus{border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 15%,transparent)}
.adm-d input::placeholder{color:var(--muted)}
.adm-d .seg{background:color-mix(in srgb,var(--bg) 70%,transparent)}
.adm-d .seg a{color:var(--muted)}
.adm-d .seg a.on{background:linear-gradient(180deg,color-mix(in srgb,var(--cyan) 35%,transparent),color-mix(in srgb,var(--cyan) 15%,transparent));
  color:var(--txt);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cyan) 50%,transparent)}
:root[data-theme="mono"] .adm-d .seg a.on{color:var(--bg);background:var(--txt);box-shadow:none}

/* ══ 20.10: piața — culorile liniilor din temă (să se deosebească în fiecare temă) ══ */
:root{--mk-med:#7cc4fa;--mk-band:#5b86e5;--mk-lib:#d9b38c;--mk-util:#9b8cf5;
  --mk-s1:#34d399;--mk-s2:#22d3ee;--mk-s3:#fbbf24;--mk-s4:#a78bfa;--mk-s5:#f472b6;--mk-s6:#60a5fa;--mk-s7:#fb7185}
:root[data-theme="ice"]{--mk-med:#7dd3fc;--mk-band:#60a5fa;--mk-lib:#fcd9a8;--mk-util:#c4b5fd;
  --mk-s1:#5eead4;--mk-s2:#7dd3fc;--mk-s3:#fde047;--mk-s4:#c4b5fd;--mk-s5:#f9a8d4;--mk-s6:#93c5fd;--mk-s7:#fda4af}
:root[data-theme="nord"]{--mk-med:#88c0d0;--mk-band:#5e81ac;--mk-lib:#ebcb8b;--mk-util:#b48ead;
  --mk-s1:#a3be8c;--mk-s2:#88c0d0;--mk-s3:#ebcb8b;--mk-s4:#b48ead;--mk-s5:#d08770;--mk-s6:#81a1c1;--mk-s7:#bf616a}
:root[data-theme="mono"]{--mk-med:#ececf0;--mk-band:#8a8a93;--mk-lib:#d2c49c;--mk-util:#b5abd8;
  --mk-s1:#9fd3b4;--mk-s2:#a9c8e8;--mk-s3:#e0cf98;--mk-s4:#c6b4e3;--mk-s5:#e8a8b4;--mk-s6:#b8d8d8;--mk-s7:#d9d9de}
.mk-leg{margin:6px 0 14px} .mk-leg[hidden]{display:none}
.mk-leg a{cursor:pointer;user-select:none} .mk-leg a.off{opacity:.4;text-decoration:line-through}

/* ══ 20.10: lista derulantă în temă (în locul <select>-ului browserului) ══ */
select.sd-nativ{display:none !important}
.sd{position:relative;display:inline-flex;vertical-align:middle} .sd[hidden]{display:none}
.sd-btn{display:inline-flex;align-items:center;gap:8px;max-width:280px;padding:6px 10px 6px 12px;border-radius:10px;cursor:pointer;
  font:700 12px var(--mono);color:var(--txt);background:color-mix(in srgb,var(--panel2) 90%,transparent);
  border:1px solid var(--line2);transition:border-color .15s,box-shadow .15s}
.sd-v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd-btn svg{flex:none;color:var(--muted);transition:transform .2s}
.sd-btn:hover,.sd.open .sd-btn{border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 14%,transparent)}
.sd.open .sd-btn svg{transform:rotate(180deg);color:var(--cyan)}
.sd-pop{position:absolute;z-index:60;top:calc(100% + 6px);right:0;min-width:max(100%,240px);max-width:340px;padding:6px;border-radius:14px;
  background:color-mix(in srgb,var(--panel2) 97%,transparent);border:1px solid var(--line2);backdrop-filter:blur(12px);
  box-shadow:0 22px 50px -14px #000,0 0 30px -18px var(--cyan);animation:dpIn .14s ease}
.sd-list{max-height:min(360px,60vh);overflow:auto;overscroll-behavior:contain}
.sd-q{width:100%;margin:2px 0 6px;padding:7px 10px;border-radius:9px;font:600 12px var(--mono);color:var(--txt);outline:none;
  background:color-mix(in srgb,var(--bg) 78%,var(--panel2));border:1px solid var(--line2)}
.sd-q:focus{border-color:var(--cyan)}
.sd-g{padding:8px 10px 4px;font:700 9.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sd-o{display:block;width:100%;text-align:left;padding:7px 10px;border:0;border-radius:9px;background:none;cursor:pointer;
  font:600 12.5px var(--mono);color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd-o.sub{padding-left:24px;color:var(--muted);font-size:11.5px}
.sd-o:hover,.sd-o:focus{outline:none;background:color-mix(in srgb,var(--cyan) 12%,transparent)}
.sd-o.on{color:var(--cyan);background:color-mix(in srgb,var(--cyan) 9%,transparent)}
.sd-o.on::after{content:" ✓"}
:root[data-theme="mono"] .sd-o.on{color:var(--txt);background:color-mix(in srgb,var(--txt) 12%,transparent)}
@media (max-width:600px){ .sd-btn{max-width:200px}
  .sd-pop{position:fixed;left:12px;right:12px;top:auto;bottom:max(12px,env(safe-area-inset-bottom));max-width:none;min-width:0} }
:root{--mk-own:#fbbf24} :root[data-theme="ice"]{--mk-own:#f9a8d4} :root[data-theme="nord"]{--mk-own:#d08770} :root[data-theme="mono"]{--mk-own:#e3c98f}
/* 20.10: fundalul graficelor și selectorul de interval după temă */
.chart-wrap{border-color:color-mix(in srgb,var(--line) 70%,transparent);
  background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--cyan) 5%,transparent),transparent 60%),
    linear-gradient(180deg,color-mix(in srgb,var(--panel2) 70%,transparent),color-mix(in srgb,var(--bg) 60%,transparent))}
.ranges{background:color-mix(in srgb,var(--bg) 70%,transparent)}
.ranges a{color:var(--muted)} .ranges a:hover{background:color-mix(in srgb,var(--txt) 6%,transparent)}
.ranges a.on{background:linear-gradient(180deg,color-mix(in srgb,var(--cyan) 35%,transparent),color-mix(in srgb,var(--cyan) 15%,transparent));
  color:var(--txt);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cyan) 50%,transparent)}
:root[data-theme="mono"] .ranges a.on{color:var(--bg);background:var(--txt);box-shadow:none}

/* ══ 20.10: barele de derulare în temă — pagina, fereastra mare (Piață), listele derulante, setările ══ */
html,.modal-box,.sd-list,.cons-main,.drawer,.dp-pop{--sb-th:color-mix(in srgb,var(--cyan) 38%,var(--line2));--sb-th-h:color-mix(in srgb,var(--cyan) 70%,transparent)}
:root[data-theme="mono"] :is(html,.modal-box,.sd-list,.cons-main,.drawer){--sb-th:color-mix(in srgb,var(--txt) 28%,transparent);--sb-th-h:color-mix(in srgb,var(--txt) 55%,transparent)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--sb-th,rgba(120,160,255,.28));border-radius:99px;border:3px solid transparent;background-clip:padding-box;min-height:40px}
::-webkit-scrollbar-thumb:hover{background:var(--sb-th-h,rgba(34,211,238,.6));background-clip:padding-box;border-width:2px}
::-webkit-scrollbar-corner{background:transparent}
.sd-list::-webkit-scrollbar{width:8px} .sd-list::-webkit-scrollbar-thumb{border-width:2px}
.modal-box::-webkit-scrollbar-track{margin:14px 0}
/* Firefox: doar culoarea și grosimea (nu are pseudo-elementele de mai sus) */
@supports (-moz-appearance:none){
  html,.modal-box,.sd-list,.cons-main,.drawer{scrollbar-width:thin;scrollbar-color:var(--sb-th) transparent}
}

/* 20.10: bara de sus a panoului, mai curată — contul activ, numărătoarea, recitirea, jurnalele și contul
   sunt în Setări (Cont & chei, Motor ▸ Recitește piața, Jurnale, Profil). Elementele rămân în pagină (codul le
   folosește), doar nu se mai văd. */
.hud #acc-sel,.hud .ring-wrap,.hud #btn-refresh,.hud #btn-log,.hud #btn-account{display:none !important}
/* 20.10: fără „3" și fără ora citirii lângă logo; pe telefon fără ⚡ Automat (pornește/oprește din Setări ▸ Motor) */
.hud .vmark,.hud #hud-ts{display:none !important}
.hud #btn-apply{display:none !important}   /* 20.10: și pe calculator — automatizarea se pornește/oprește din Setări ▸ Motor */
/* 20.10: pe telefon totul pe un singur rând — VAST//NEXUS · SIMULARE · PRO · ⚙ (setările doar ca iconiță) */
@media (max-width:700px){
  .hud{flex-wrap:nowrap;gap:8px;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top))}
  .hud .brand{flex:0 1 auto;min-width:0;gap:7px} .hud .brand b{font-size:15px;letter-spacing:.1em;white-space:nowrap}
  .hud .hud-mid{width:auto;flex:1 1 auto;min-width:0;flex-wrap:nowrap;gap:5px;justify-content:flex-end}
  .hud .pill{padding:4px 8px;font-size:9.5px;white-space:nowrap}
  .hud .hud-btns{width:auto;flex:0 0 auto}
  .hud .hud-btns #btn-settings{flex:0 0 auto;width:38px;height:36px;min-height:36px;padding:0;font-size:0;letter-spacing:0;border-radius:11px}
  .hud .hud-btns #btn-settings::before{content:"⚙";font-size:18px;line-height:1}
}
@media (max-width:370px){ .hud .brand b{font-size:13px;letter-spacing:.06em} .hud .pill{padding:4px 6px;font-size:9px} .hud{gap:6px;padding-left:10px;padding-right:10px} }
/* 20.10: pe telefon cele trei din dreapta (mod, licență, setări) arată la fel: aceeași înălțime, același contur
   rotunjit, același fundal; culoarea rămâne doar în punctul de stare (galben = simulare, roșu = live, verde = pro) */
@media (max-width:700px){
  .hud .pill,.hud .hud-btns #btn-settings{height:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;
    border-radius:10px;border:1px solid var(--line2);background:color-mix(in srgb,var(--panel2) 90%,transparent);
    color:var(--txt);box-shadow:none;animation:none}
  .hud .pill{padding:0 9px;font:700 9.5px/1 var(--mono);letter-spacing:.06em}
  .hud .pill::before{flex:none}
  .hud .hud-btns #btn-settings{width:32px;color:var(--txt)}
  .hud .hud-btns #btn-settings::before{font-size:16px}
}
@media (max-width:700px){
  .hud .pill.dry::before{background:var(--amber);box-shadow:0 0 8px var(--amber)}
  .hud .pill.live::before{background:var(--red);box-shadow:0 0 8px var(--red)}
  .hud .pill.ok::before{background:var(--green);box-shadow:0 0 8px var(--green)}
  .hud .pill.bad::before{background:var(--red);box-shadow:0 0 8px var(--red)}
  .hud .pill.info::before{background:var(--blue);box-shadow:0 0 8px var(--blue)}
  .hud .pill.demo::before{background:var(--amber);box-shadow:0 0 8px var(--amber)}
}
/* 20.10: cercul de ocupare din „Flotă": strălucirea ieșea din pătratul SVG-ului și se vedea tăiată în colțuri.
   SVG-ul o lasă acum să iasă (overflow), iar strălucirea e mai mică și mai moale. */
.gauge svg{overflow:visible}
.gauge .g-fg.full{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--green) 70%,transparent))}
.gauge .g-fg.mid{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--pale) 55%,transparent))}
.gauge .g-bg.bad{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--red) 45%,transparent))}
/* 20.10: pe telefon „Licență" stă pe același rând cu „Flotă" (era pe tot rândul, cu mult spațiu gol) */
@media (max-width:700px){
  .hero .t-bal{grid-column:span 1;flex-direction:column;align-items:flex-start;justify-content:space-between}
}
/* 20.10: ƒx pe planul Pro — fereastra care spune că e din Pro+ */
.fx-up{max-width:520px;margin:6px auto 4px;text-align:center;padding:10px 8px}
.fx-up-ico{width:62px;height:62px;margin:0 auto 10px;border-radius:18px;display:grid;place-items:center;font:800 24px var(--mono);
  color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent);box-shadow:0 0 0 6px color-mix(in srgb,var(--amber) 6%,transparent),0 0 26px -8px var(--amber)}
.fx-up h3{margin:12px 0 6px;font:700 17px var(--head);color:var(--txt)}
.fx-up p{color:var(--muted);font-size:13px;line-height:1.5;margin:6px 0}
.fx-up ul{text-align:left;display:inline-block;margin:8px auto;padding-left:18px;color:var(--txt);font-size:13px;line-height:1.7}
.fx-up ul li::marker{color:var(--amber)}
.fx-up-m{margin:14px 0 6px !important;font:600 15px/1.5 var(--head) !important;color:var(--txt) !important}
.fx-up-cta{margin:4px auto 6px !important;max-width:380px;color:var(--muted)}
.fx-up-g{text-align:left;max-width:440px;margin:10px auto 0;padding:10px 14px;border-radius:12px;border:1px solid var(--line);
  background:color-mix(in srgb,var(--amber) 4%,transparent)}
.fx-up-g b{display:block;font:700 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--amber);margin-bottom:4px}
.fx-up-g ul{margin:2px 0 0;padding-left:18px;font-size:13px;line-height:1.6;color:var(--txt)} .fx-up-g li::marker{color:var(--amber)}
.fx-up-cta{margin-top:14px !important;font-weight:700;color:var(--amber) !important}

/* ══ 20.10: Analiza prețului (ƒx) — redesenată, în temă ══ */
.modal-box.fx-modal{width:min(1080px,100%)}
.fx2{--al:var(--mk-s6,#60a5fa);--be:var(--mk-s4,#a78bfa);--op:rgb(var(--pd-g));--mx:rgb(var(--pd-y));--mk:rgb(var(--pd-c,34,211,238));
  display:flex;flex-direction:column;gap:14px;font:500 13px/1.5 var(--head)}
.fx2 .c-op{color:var(--op)} .fx2 .c-mx{color:var(--mx)} .fx2 .c-mk{color:var(--mk)} .fx2 .c-al{color:var(--al)} .fx2 .c-be{color:var(--be)}
.fx-warn{padding:9px 12px;border-radius:12px;color:color-mix(in srgb,var(--amber) 75%,var(--txt));background:color-mix(in srgb,var(--amber) 8%,transparent);border:1px solid color-mix(in srgb,var(--amber) 30%,transparent)}
.fx-sec{padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(160deg,color-mix(in srgb,var(--panel2) 80%,transparent),color-mix(in srgb,var(--bg) 60%,transparent))}
.fx-sec h4{margin:0 0 12px;font:700 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
.fx-sec h4 small{color:var(--muted);margin-left:6px}
.fx-ex{margin:10px 0 0;color:var(--muted);font-size:12.5px;line-height:1.55} .fx-ex b{font-weight:700}
.fx2 .dim{color:var(--muted)}
.fx2 details summary{cursor:pointer;color:var(--muted);font:600 11.5px var(--mono);margin:8px 0 2px} .fx2 details summary:hover{color:var(--cyan)}
/* antet */
.fx-hero{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 18px;border-radius:18px;border:1px solid var(--line2);
  background:radial-gradient(120% 140% at 0 0,color-mix(in srgb,var(--cyan) 10%,transparent),transparent 60%),color-mix(in srgb,var(--panel2) 85%,transparent)}
.fx-gpu{font:700 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fx-price b{font:800 34px/1.1 var(--mono);color:var(--txt)} .fx-price small{margin-left:8px;color:var(--muted);font:600 12px var(--mono)}
.fx-sub{color:var(--muted);font:600 11.5px var(--mono)}
.fx-hero-r{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.fx-cod{padding:7px 16px;border-radius:12px;font:800 15px var(--mono);letter-spacing:.08em;border:1px solid currentColor}
.fx-cod.up{color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent)} .fx-cod.dn{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent)}
.fx-cod.ok{color:var(--cyan);background:color-mix(in srgb,var(--cyan) 10%,transparent)} .fx-cod.mid{color:var(--amber);background:color-mix(in srgb,var(--amber) 10%,transparent)}
.fx-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.fx-chips span{padding:4px 10px;border-radius:99px;font:600 11.5px var(--mono);color:var(--muted);border:1px solid var(--line2)} .fx-chips b{color:var(--txt)}
.fx-chips .w{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 40%,transparent)}
/* harta prețurilor */
/* 27.10 RESCRIS: fiecare reper pe rândul lui (--row), 30px între rânduri. Harta crește cu nr. de rânduri
   sus (--ns) și jos (--nj). Imposibil să se suprapună: rânduri distincte, legate de bară prin linii verticale. */
.fx-map{position:relative;height:calc(32px + (var(--ns) + var(--nj)) * 30px);margin:4px 22px}
.fx-map-tr{position:absolute;left:0;right:0;top:calc(12px + var(--ns) * 30px);height:8px;border-radius:99px;
  background:linear-gradient(90deg,rgb(var(--pd-r)),rgb(var(--pd-o)) 18%,rgb(var(--pd-y)) 30%,rgb(var(--pd-g)) 45%,rgb(var(--pd-g)) 60%,rgb(var(--pd-y)) 75%,rgb(var(--pd-r)));opacity:.55}
.fx-m{position:absolute;top:calc(12px + var(--ns) * 30px);width:0}
.fx-m i{position:absolute;left:-5px;top:-1px;width:10px;height:10px;border-radius:3px;transform:rotate(45deg);background:var(--mc);box-shadow:0 0 10px var(--mc)}
.fx-m span{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;text-align:center;font:600 10.5px var(--head);color:var(--mc);bottom:calc(14px + var(--row) * 30px)}
.fx-m span::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:calc(var(--row) * 30px + 12px);background:color-mix(in srgb,var(--mc) 45%,transparent)}
.fx-m span b{display:block;font:700 12px var(--mono)}
.fx-m.jos span{bottom:auto;top:calc(14px + var(--row) * 30px)} .fx-m.jos span::after{top:auto;bottom:100%}
.fx-m.op{--mc:var(--op)} .fx-m.mx{--mc:var(--mx)} .fx-m.mk{--mc:var(--mk)} .fx-m.al{--mc:var(--al)} .fx-m.be{--mc:var(--be)} .fx-m.gr{--mc:var(--muted)} .fx-m.nw{--mc:var(--txt);z-index:2}
.fx-m.nw i{left:-8px;top:-4px;width:16px;height:16px;border-radius:50%;transform:none;background:radial-gradient(circle at 35% 30%,#fff 0 20%,var(--txt) 60%);box-shadow:0 0 0 3px var(--bg),0 0 12px var(--txt)}
.fx-m.nw span{padding:2px 7px;border-radius:7px;background:var(--panel2);border:1px solid var(--line2);font-family:var(--mono);font-weight:700} .fx-m.nw span b{display:inline;margin-left:4px;font-size:11px}
/* Alfa / Beta */
.fx-duo{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch}
/* 24.10: cardul cu lista deschisă se lărgește, celălalt se strânge și se dă puțin la o parte */
.fx-duo{transition:grid-template-columns .4s cubic-bezier(.2,.8,.2,1)}
.fx-duo.al-ex{grid-template-columns:2.3fr auto 1fr} .fx-duo.be-ex{grid-template-columns:1fr auto 2.3fr}
.fx-card{transition:opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.fx-duo.al-ex .fx-card.be{opacity:.72;transform:translateX(8px) scale(.97);transform-origin:right center}
.fx-duo.be-ex .fx-card.al{opacity:.72;transform:translateX(-8px) scale(.97);transform-origin:left center}
.fx-duo.al-ex .fx-card.be .fx-desc,.fx-duo.be-ex .fx-card.al .fx-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:760px){ .fx-duo.al-ex,.fx-duo.be-ex{grid-template-columns:1fr} .fx-duo.al-ex .fx-card.be,.fx-duo.be-ex .fx-card.al{transform:none;opacity:1} }
.fx-op{align-self:center;font:800 13px var(--mono);color:var(--muted);padding:6px 10px;border-radius:10px;border:1px dashed var(--line2)}
.fx-card{position:relative;padding:16px;border-radius:16px;border:1px solid color-mix(in srgb,var(--kc) 30%,var(--line));
  background:radial-gradient(130% 90% at 100% 0,color-mix(in srgb,var(--kc) 12%,transparent),transparent 60%),color-mix(in srgb,var(--bg) 50%,transparent)}
.fx-card.al{--kc:var(--al)} .fx-card.be{--kc:var(--be)}
.fx-card.lead{border-color:var(--kc);box-shadow:0 0 0 1px var(--kc) inset,0 16px 40px -24px var(--kc)}
.fx-card.off{opacity:.78}
.fx-crown{position:absolute;top:12px;right:12px;padding:3px 9px;border-radius:99px;font:800 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bg);background:var(--kc)}
.fx-sym{font:800 30px/1 var(--mono);color:var(--kc);text-shadow:0 0 18px color-mix(in srgb,var(--kc) 60%,transparent)}
.fx-name{margin-top:6px;font:700 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fx-val{font:800 28px/1.2 var(--mono);color:var(--kc)}
.fx-desc{color:var(--muted);font-size:12.5px;margin:4px 0 10px;line-height:1.45} .fx-desc b{color:var(--txt)}
.fx-kv{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);font:600 12px var(--mono)}
.fx-kv span{color:var(--muted)}
.fx-box{position:relative;height:22px;margin:6px 0 2px}
.fx-box i{position:absolute;top:50%;transform:translateY(-50%)}
.fx-box .w{height:2px;background:color-mix(in srgb,var(--kc) 55%,transparent)}
.fx-box .b{height:14px;border-radius:5px;background:color-mix(in srgb,var(--kc) 28%,transparent);border:1px solid var(--kc)}
.fx-box .md{width:2px;height:18px;background:var(--kc);margin-left:-1px}
.fx-box .cu{width:3px;height:22px;background:var(--txt);margin-left:-1px;border-radius:2px;box-shadow:0 0 8px var(--txt)}
.fx-box-ax{display:flex;justify-content:space-between;font:600 10px var(--mono);color:var(--muted);margin-bottom:8px}
.fx-stack{display:flex;height:26px;border-radius:9px;overflow:hidden;margin:4px 0 10px;font:700 11px var(--mono)}
.fx-stack i{display:flex;align-items:center;justify-content:center;font-style:normal;white-space:nowrap;overflow:hidden;min-width:56px}
.fx-stack .a{background:color-mix(in srgb,var(--al) 30%,transparent);color:var(--al)} .fx-stack .p{background:color-mix(in srgb,var(--be) 40%,transparent);color:var(--txt)}
.fx-resp{margin-top:8px;padding:7px 10px;border-radius:10px;font-size:12px;color:color-mix(in srgb,var(--amber) 75%,var(--txt));background:color-mix(in srgb,var(--amber) 8%,transparent)}
.fx-ref{margin-top:12px;text-align:center;font:600 12.5px var(--mono);color:var(--muted)} .fx-ref b{color:var(--txt)}
/* podea / plafon */
.fx-fc{display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:10px}
.fx-fc-b{padding:10px 12px;border-radius:12px;border:1px solid var(--line2)} .fx-fc-b.r{text-align:right} .fx-fc-b.off{opacity:.6}
.fx-fc-b span{display:block;font:700 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fx-fc-b b{font:800 20px var(--mono)} .fx-fc-b small{display:block;color:var(--muted);font-size:11px}
.fx-fc-mid{position:relative;height:40px} .fx-fc-mid i{position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,var(--muted),var(--txt),var(--muted));opacity:.5}
.fx-fc-mid span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:3px 10px;border-radius:99px;font:700 11.5px var(--mono);background:var(--panel2);border:1px solid var(--txt)}
/* market */
.fx-mk{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.fx-mk>div{padding:10px 12px;border-radius:12px;border:1px solid var(--line)} .fx-mk b{display:block;font:800 20px var(--mono)} .fx-mk span{font-size:11.5px;color:var(--muted)}
.fx-mk .mk{border-color:var(--mk)} .fx-mk .mk b{color:var(--mk)}
/* grafice */
.fx-curve,.fx-dots{display:block;width:100%;height:auto}
.fx-curve .g{stroke:var(--line);stroke-width:1} .fx-curve text{font:600 10px var(--mono);fill:var(--muted)} .fx-curve .ya{text-anchor:end}
.fx-curve .xa{text-anchor:middle} .fx-curve .dr{text-anchor:end}
.fx-curve .ln{fill:none;stroke:var(--cyan);stroke-width:2.2} .fx-curve .ar{fill:color-mix(in srgb,var(--cyan) 10%,transparent)}
.fx-curve .pt{fill:color-mix(in srgb,var(--cyan) 40%,var(--bg));stroke:var(--cyan);stroke-width:1.2}
.fx-curve .t80{stroke:var(--muted);stroke-dasharray:4 4} text.t80{fill:var(--muted);stroke:none}
.fx-curve line.m80{stroke:var(--op);stroke-width:1.6} text.m80{fill:var(--op)} .fx-curve line.mmx{stroke:var(--mx);stroke-width:1.6;stroke-dasharray:5 3} text.mmx{fill:var(--mx)}
.fx-curve line.mtu{stroke:var(--txt);stroke-width:2} text.mtu{fill:var(--txt);font-weight:800}
.fx-dots .ax{stroke:var(--line2)} .fx-dots text{font:600 10px var(--mono);fill:var(--muted)} .fx-dots .dr{text-anchor:end}
.fx-dots circle.f{fill:var(--green)} .fx-dots circle.m{fill:var(--amber)} .fx-dots circle.l{fill:var(--red)} .fx-dots circle.n{fill:var(--muted)}
.fx-dots circle{opacity:.85} .fx-dots line.tu{stroke:var(--txt);stroke-width:2} .fx-dots text.tu{fill:var(--txt);text-anchor:middle;font-weight:800}
.fx-leg{display:flex;gap:14px;font:600 11px var(--mono);color:var(--muted)} .fx-leg i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}
.fx-leg .f{background:var(--green)} .fx-leg .m{background:var(--amber)} .fx-leg .l{background:var(--red)}
/* decizia */
.fx-steps{display:flex;flex-direction:column;gap:0;position:relative;padding-left:4px}
.fx-st{display:flex;gap:12px;align-items:flex-start;padding:7px 0;position:relative}
.fx-st::before{content:"";position:absolute;left:17px;top:30px;bottom:-8px;width:2px;background:var(--line)} .fx-st:last-child::before{display:none}
.fx-st b{flex:none;width:36px;height:24px;border-radius:8px;display:grid;place-items:center;font:800 10.5px var(--mono);border:1px solid currentColor;z-index:1;background:var(--panel2)}
.fx-st.y b{color:var(--green)} .fx-st.n b{color:var(--red)} .fx-st.d b{color:var(--muted)}
.fx-st span{font:600 12.5px var(--mono);color:var(--txt);padding-top:2px} .fx-st small{display:block;color:var(--muted);font:500 11.5px var(--head)}
.fx-st.fin span{font:800 14px var(--mono)} .fx-st.fin.up{color:var(--green)} .fx-st.fin.dn{color:var(--red)} .fx-st.fin.ok{color:var(--cyan)} .fx-st.fin.mid{color:var(--amber)}
.fx-st.fin b{color:inherit} .fx-st.fin span{color:inherit}
.fx-foot{text-align:center;color:var(--muted);font:600 10.5px var(--mono)}
.fx2 .tw{overflow-x:auto} .fx2 table{border-collapse:collapse;font:600 11px var(--mono);width:100%;margin:6px 0}
.fx2 th,.fx2 td{padding:4px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap} .fx2 th{color:var(--muted);font-size:10px}
.fx2 td:first-child,.fx2 th:first-child{text-align:left}
@media (max-width:760px){ .fx-duo{grid-template-columns:1fr} .fx-op{justify-self:center} .fx-mk{grid-template-columns:1fr 1fr} .fx-fc{grid-template-columns:1fr 1fr} .fx-fc-mid{grid-column:1/-1;order:-1}
  .fx-price b{font-size:28px} .fx-hero-r{align-items:flex-start} .fx-chips{justify-content:flex-start} .fx-map{margin:4px 6px} }
.fx2 section{margin:0}
.fx-curve text,.fx-dots text{font-size:9px}
.fx-curve text.t80{stroke:none;fill:var(--muted)}
.fx-curve text.mtu.dr{text-anchor:end}

/* ── 20.10: jurnal de sistem (sysadmin) ── */
.al-sys{margin-left:8px;font-weight:700;text-decoration:underline;cursor:pointer;white-space:nowrap;opacity:.9}
.sy-p{margin:-4px 0 12px;font-size:12.5px}
.sy-kpi{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:10px;align-items:end;margin-bottom:12px}
.sy-kpi small{font:600 11px var(--head);color:var(--muted);padding-bottom:4px}
.sy-k{all:unset;cursor:pointer;padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:var(--panel);transition:border-color .15s,box-shadow .15s}
.sy-k b{display:block;font:800 22px/1.1 var(--mono);color:var(--txt)} .sy-k span{font:600 11px var(--head);color:var(--muted)}
.sy-k.critic b{color:var(--red)} .sy-k.eroare b{color:var(--red)} .sy-k.avertisment b{color:var(--amber)} .sy-k.info b{color:var(--accent,var(--txt))}
.sy-k:hover{border-color:var(--muted)} .sy-k.on{border-color:var(--accent,var(--txt));box-shadow:0 0 0 1px var(--accent,var(--txt)) inset}
.sy-f a{cursor:pointer}
.sy-cats{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 12px}
.sy-cats a{cursor:pointer;padding:4px 10px;border-radius:999px;border:1px solid var(--line);font:600 11.5px var(--head);color:var(--muted)}
.sy-cats a i{font-style:normal;opacity:.75;margin-left:2px} .sy-cats a.on{color:var(--txt);border-color:var(--accent,var(--txt))}
.sy-list{display:flex;flex-direction:column;gap:4px;max-height:560px;overflow:auto}
.sy-r{border:1px solid var(--line);border-left-width:3px;border-radius:10px;background:var(--panel)}
.sy-r.critic,.sy-r.eroare{border-left-color:var(--red)} .sy-r.avertisment{border-left-color:var(--amber)} .sy-r.info{border-left-color:var(--line)}
.sy-r summary{list-style:none;display:grid;grid-template-columns:168px 92px 210px 1fr;gap:10px;align-items:baseline;padding:7px 10px;cursor:pointer;font-size:12.5px}
.sy-r summary::-webkit-details-marker{display:none}
.sy-t{font:500 11.5px var(--mono);color:var(--muted);white-space:nowrap} .sy-c{color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sy-m{color:var(--txt);word-break:break-word} .sy-m em{font-style:normal;font-weight:700;color:var(--muted);margin-left:4px}
.sy-b{justify-self:start;padding:1px 8px;border-radius:999px;font:700 10.5px var(--head);text-transform:uppercase;letter-spacing:.03em;border:1px solid currentColor}
.sy-b.critic,.sy-b.eroare{color:var(--red)} .sy-b.avertisment{color:var(--amber)} .sy-b.info{color:var(--muted)}
.sy-d{padding:0 10px 10px;font-size:12px;display:flex;flex-direction:column;gap:4px}
.sy-meta{color:var(--muted);font-size:11px;text-align:right;font-family:var(--mono)}
.sy-d pre{margin:4px 0 0;padding:8px 10px;border-radius:8px;background:var(--bg);border:1px solid var(--line);font:11px/1.45 var(--mono);white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto}
@media (max-width:760px){
  .sy-kpi{grid-template-columns:repeat(4,1fr)} .sy-kpi small{grid-column:1/-1;padding:0}
  .sy-k{padding:8px 10px} .sy-k b{font-size:18px}
  .sy-r summary{grid-template-columns:auto auto 1fr;gap:4px 8px}
  .sy-r summary .sy-m{grid-column:1/-1}
}
.cons-wrap .cons-card.sy{grid-column:1/-1}

/* ── 20.10: mod suport (admin pe contul unui client) ── */
.suport-band{position:sticky;top:0;z-index:60;display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;
  padding:7px 14px;background:rgb(var(--pd-y,240 190 60)/.16);border-bottom:1px solid rgb(var(--pd-y,240 190 60)/.55);
  color:var(--txt);font:600 12.5px var(--head);backdrop-filter:blur(8px)}
.suport-band b{color:var(--amber)} .suport-band .btn{padding:4px 12px;min-height:0;height:auto;font-size:12px}

/* 21.10: Setări › Profil › Șterge-mi contul */
.del-me{border-top:1px dashed color-mix(in srgb,var(--red) 35%,transparent);margin-top:10px;padding-top:12px}
.del-me-f{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px;padding:12px;border-radius:12px;
  border:1px solid color-mix(in srgb,var(--red) 40%,transparent);background:color-mix(in srgb,var(--red) 7%,transparent)}
.del-me-f[hidden]{display:none}
.del-me-f p{flex:1 1 100%;margin:0 0 4px;font-size:12.5px;line-height:1.5;color:var(--txt)}
.del-me-f input{flex:1 1 220px;min-width:0}

/* 21.10: Setări › Profil › Parolă — actuala + noua de două ori */
.pw-f{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;max-width:420px}
.pw-f input{width:100%;box-sizing:border-box}
.pw-f-b{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:2px}
.pw-f-b small{font-size:11.5px}

/* 21.10: Echipă — fără textul de sus; Membri | Invitații pe toată lățimea, rolurile dedesubt */
.cons-main>.cons-wrap.cons-team{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}   /* peste regula cu :has(3 carduri) */
.cons-team>[data-c="roluri"]{grid-column:1/-1}
.cons-team>[data-c="roluri"] .cons-kpi{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
@media (max-width:900px){.cons-main>.cons-wrap.cons-team{grid-template-columns:minmax(0,1fr)!important}}

/* 21.10: MONO — fără verde/roșu, starea se citește din formă și lumină:
   placă închiriată = plină și luminoasă; liberă = doar contur punctat, stinsă.
   Evenimente: închiriat = bară plină + ●, eliberat = bară punctată + ○, preț ▲ / ▼. */
:root[data-theme="mono"] .gslot.on{color:#fff;filter:drop-shadow(0 0 4px rgba(255,255,255,.55))}
:root[data-theme="mono"] .gslot.on .gic .gb{fill-opacity:.85;stroke:#fff}
:root[data-theme="mono"] .gslot.on .gic .gf,:root[data-theme="mono"] .gslot.on .gic .gh{stroke:#0a0a0b;color:#0a0a0b;opacity:.9}
:root[data-theme="mono"] .gslot.off{color:#8e8e95;filter:none;opacity:.7}
:root[data-theme="mono"] .gslot.off .gic .gb{fill-opacity:0;stroke-dasharray:2 1.6}
:root[data-theme="mono"] .ev.rent{color:#fff;background:rgba(255,255,255,.07);border-left:3px solid #fff}
:root[data-theme="mono"] .ev.free{color:#a3a3aa;background:transparent;border-left:3px dashed #77777e}
:root[data-theme="mono"] .ev.up{color:#f4f4f6;border-left:3px solid rgba(255,255,255,.55)}
:root[data-theme="mono"] .ev.down{color:#9a9aa1;border-left:3px dotted rgba(255,255,255,.35)}
:root[data-theme="mono"] .ev.rent .tx::before{content:"● "}
:root[data-theme="mono"] .ev.free .tx::before{content:"○ "}
:root[data-theme="mono"] .ev.up .tx::before{content:"▲ "}
:root[data-theme="mono"] .ev.down .tx::before{content:"▼ "}
:root[data-theme="mono"] .ev.unlisted,:root[data-theme="mono"] .ev.listed{color:#ededf0;background:rgba(255,255,255,.04);border-left:3px double rgba(255,255,255,.6)}
/* pătrățelele de pe card: închiriat (D) = contur plin alb, licitație (I) = contur punctat, liber = fundal stins, contur întrerupt */
:root[data-theme="mono"] .cell.busy{box-shadow:inset 0 0 0 2px rgba(255,255,255,.75);background:rgba(255,255,255,.17)}
:root[data-theme="mono"] .cell.busy.bid{box-shadow:inset 0 0 0 2px rgba(255,255,255,.45);background:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 4px,transparent 4px 8px)}
:root[data-theme="mono"] .cell.bid small{color:#cfcfd5}
:root[data-theme="mono"] .cell.free{background:rgba(255,255,255,.02);color:#8e8e95;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);animation:monofree 2.4s ease-in-out infinite}
@keyframes monofree{0%,100%{background:rgba(255,255,255,.015)}50%{background:rgba(255,255,255,.06)}}
@media (prefers-reduced-motion:reduce){:root[data-theme="mono"] .cell.free{animation:none}}
/* 21.10: MONO cu o umbră de culoare — verde/roșu stinse (aceleași ca adminul în Mono), formele de mai sus rămân */
:root[data-theme="mono"]{--mono-ok:#9fdcb8;--mono-bad:#e8a0a8}
:root[data-theme="mono"] .gslot.on{color:var(--mono-ok);filter:drop-shadow(0 0 4px rgba(159,220,184,.35))}
:root[data-theme="mono"] .gslot.on .gic .gb{stroke:var(--mono-ok)}
:root[data-theme="mono"] .gslot.off{color:var(--mono-bad);opacity:.75}
:root[data-theme="mono"] .ev.rent{color:#d6efe0;border-left-color:var(--mono-ok);background:rgba(159,220,184,.06)}
:root[data-theme="mono"] .ev.free{color:#efd2d6;border-left-color:var(--mono-bad)}
:root[data-theme="mono"] .ev.up{border-left-color:rgba(159,220,184,.6)}
:root[data-theme="mono"] .ev.down{border-left-color:rgba(232,160,168,.55)}
:root[data-theme="mono"] .cell.busy{box-shadow:inset 0 0 0 2px rgba(159,220,184,.6);background:rgba(159,220,184,.12)}
:root[data-theme="mono"] .cell.free{color:#d9b3b9;box-shadow:inset 0 0 0 1px rgba(232,160,168,.3)}
@keyframes monofree{0%,100%{background:rgba(232,160,168,.05)}50%{background:rgba(232,160,168,.13)}}

/* ═══ 21.10: „Setări vast" ═══ */
.vs-open{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;width:100%;margin:0 0 14px;padding:12px 14px;border-radius:14px;
  border:1px solid color-mix(in srgb,var(--cyan) 35%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--cyan) 10%,transparent),transparent 70%);transition:.15s}
.vs-open:hover{border-color:var(--cyan);transform:translateY(-1px)} .vs-open:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.vs-open i{font-style:normal;font-size:20px;color:var(--cyan)} .vs-open span{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.vs-open b{font:700 13.5px var(--head);color:var(--txt)} .vs-open small{font-size:11.5px;color:var(--muted)} .vs-open em{font-style:normal;font-size:20px;color:var(--cyan)}
.modal-box.vs-modal{width:min(1040px,100%)}
.vs{display:flex;flex-direction:column;gap:14px}
.vs-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12.5px}
.vs-st{display:inline-flex;align-items:center;gap:7px;padding:4px 12px;border-radius:99px;font:800 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid}
.vs-st i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.vs-st.on{color:var(--green);border-color:color-mix(in srgb,var(--green) 50%,transparent)} .vs-st.off{color:var(--red);border-color:color-mix(in srgb,var(--red) 50%,transparent)}
.vs-demo{padding:4px 10px;border-radius:8px;background:color-mix(in srgb,var(--amber) 12%,transparent);color:var(--amber);font-size:11.5px}
.vs-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}
.vs-tabs button{all:unset;cursor:pointer;padding:9px 16px;font:700 12.5px var(--head);color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.vs-tabs button.on{color:var(--txt);border-bottom-color:var(--cyan)} .vs-tabs button em{font-style:normal;font-size:10.5px;padding:1px 6px;border-radius:99px;background:color-mix(in srgb,var(--red) 22%,transparent);color:var(--txt)}
.vs-body{animation:lm-in .25s ease both}
@keyframes lm-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.vs h4{margin:0 0 10px;font:700 11px var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)} .vs .vs-h2{margin-top:16px}
.vs-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.vs-fs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.vs-f{display:flex;flex-direction:column;gap:4px;min-width:0} .vs-f>span{font:600 11.5px var(--head);color:var(--muted)} .vs-f small{font:500 10.5px var(--mono);color:var(--dim)}
.vs-in{display:flex;align-items:center;border:1px solid var(--line2);border-radius:10px;background:var(--bg);overflow:hidden}
.vs-in:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 15%,transparent)}
.vs-in input{flex:1;min-width:0;border:0;background:transparent;color:var(--txt);font:700 14px var(--mono);padding:9px 10px;outline:none}
.vs-in input.bad{color:var(--red)} .vs-in i{font-style:normal;font:600 11px var(--mono);color:var(--muted);padding:0 10px;white-space:nowrap}
.vs-f select,.vs-f input[type=datetime-local]{border:1px solid var(--line2);border-radius:10px;background:var(--bg);color:var(--txt);font:600 13px var(--head);padding:9px 10px;color-scheme:dark}
.vs-term{margin-top:12px;display:flex;flex-direction:column;gap:8px} .vs-term>span{font:600 11.5px var(--head);color:var(--muted)}
.vs-term .seg a{cursor:pointer} .vs-term-v{display:flex;flex-direction:column;gap:4px;max-width:260px} .vs-term-v[hidden]{display:none} .vs-term-v small{font-size:11px;color:var(--dim)}
.vs-foot{display:flex;flex-direction:column;gap:12px;padding-top:12px;border-top:1px solid var(--line)}
.vs-diff{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px;min-height:22px}
.vs-diff em{font-style:normal;padding:3px 9px;border-radius:99px;background:color-mix(in srgb,var(--cyan) 10%,transparent);border:1px solid color-mix(in srgb,var(--cyan) 30%,transparent)}
.vs-diff em b{color:var(--cyan)}
.vs-req{width:100%} .vs-req pre{margin:8px 0 0;padding:12px;border-radius:10px;background:var(--bg);border:1px solid var(--line);font:500 12px/1.5 var(--mono);color:var(--txt);overflow:auto}
.vs-act{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.vs-dry{margin-right:auto;display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);cursor:pointer}
.vs-p{margin:0 0 12px;font-size:12.5px;color:var(--muted)}
.vs-mf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}
.vs-ml,.vs-rl{display:flex;flex-direction:column;gap:6px}
.vs-mi{display:flex;flex-wrap:wrap;gap:6px 14px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);font-size:12px} .vs-mi i{font-style:normal;color:var(--muted);margin-right:5px}
.vs-empty{padding:22px;text-align:center;border:1px dashed var(--line2);border-radius:12px;color:var(--muted);font-size:13px}
.vs-r{border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.vs-r.nou{border-color:color-mix(in srgb,var(--red) 45%,var(--line))} .vs-r.nou .vs-r-t::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:7px;vertical-align:1px}
.vs-r-n{margin-left:8px;font:700 11px var(--mono);color:var(--red)} .vs-r-ok{margin-left:10px;vertical-align:middle} .vs-r summary{display:grid;grid-template-columns:150px minmax(120px,.8fr) minmax(0,2fr);gap:12px;padding:10px 12px;cursor:pointer;align-items:baseline;list-style:none}
.vs-r summary::-webkit-details-marker{display:none}
.vs-r-t{font:600 11.5px var(--mono);color:var(--muted)} .vs-r b{font:700 12.5px var(--head);color:var(--txt)} .vs-r-m{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vs-r pre{margin:0;padding:0 12px 12px;white-space:pre-wrap;overflow-wrap:anywhere;font:500 12px/1.5 var(--mono);color:var(--txt)}
@media (max-width:820px){.vs-grid{grid-template-columns:minmax(0,1fr)} .vs-mf{grid-template-columns:minmax(0,1fr)} .vs-r summary{grid-template-columns:minmax(0,1fr)} .vs-r-m{white-space:normal}}
@media (max-width:420px){.vs-fs{grid-template-columns:minmax(0,1fr)}}

/* 21.10: modul suport pe telefon — mesajul plutește sus câteva secunde, apoi rămâne doar ✕ (ieșire), sus pe centru */
.suport-band .su-x{display:none}
@media (max-width:760px){
  .suport-band{position:fixed;top:8px;left:8px;right:8px;z-index:90;border-radius:14px;box-shadow:0 10px 30px -10px #000;transition:all .35s cubic-bezier(.2,.8,.2,1);
    background:var(--panel2);border:1px solid rgb(var(--pd-y,240 190 60)/.6)}
  .suport-band.mini{top:var(--su-top,74px);left:50%;right:auto;transform:translateX(-50%);padding:0;gap:0;background:transparent;border:0;box-shadow:none}   /* chiar sub bara de sus, fără s-o acopere */
  .suport-band.mini .su-txt,.suport-band.mini .su-back{display:none}
  .suport-band.mini .su-x{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:99px;cursor:pointer;
    font:800 14px var(--head);color:#1a1300;background:var(--amber);border:0;box-shadow:0 4px 16px -4px rgba(251,191,36,.7)}
  .suport-band.mini .su-x i{font-style:normal;font-size:13px}
}

/* 21.10: liniile MIN/MAX pe bara „Preț dorit": de sus până jos, trase cu mâna, legate de câmpuri */
.pdb{--rx:26px;--lim-mn:96 165 250;--lim-mx:192 132 252}
@media (max-width:700px){ .pdb{--rx:20px} }
.pdb-lim{position:absolute;top:0;bottom:0;z-index:3;pointer-events:none;--p:0;--lc:var(--lim-mn)}
.pdb-lim.mxl{--lc:var(--lim-mx)}
.pdb-lim.mn{left:0;width:calc(var(--rx) + (100% - 2 * var(--rx)) * var(--p));border-right:2px solid rgb(var(--lc));
  background:repeating-linear-gradient(135deg,rgb(var(--lc) / .10) 0 6px,transparent 6px 12px)}
.pdb-lim.mxl{right:0;width:calc(var(--rx) + (100% - 2 * var(--rx)) * (1 - var(--p)));border-left:2px solid rgb(var(--lc));
  background:repeating-linear-gradient(45deg,rgb(var(--lc) / .10) 0 6px,transparent 6px 12px)}
.pdb-lim.off{background:none;border-color:transparent}
.pdb-lim.off::before{content:'';position:absolute;top:0;bottom:0;width:0;border-left:2px dashed rgb(var(--lc) / .45)}
.pdb-lim.mn.off::before{right:-2px} .pdb-lim.mxl.off::before{left:-2px}
.pdb-lg{position:absolute;top:0;bottom:0;width:16px;pointer-events:auto;cursor:ew-resize;touch-action:none}
.pdb-lim.mn .pdb-lg{right:-9px} .pdb-lim.mxl .pdb-lg{left:-9px}
.pdb-lh{position:absolute;bottom:4px;pointer-events:auto;cursor:ew-resize;touch-action:none;white-space:nowrap;
  font:800 9.5px var(--mono);letter-spacing:.06em;color:rgb(var(--lc));padding:3px 7px;border-radius:99px;
  background:var(--panel2);border:1.5px solid rgb(var(--lc));box-shadow:0 0 10px rgb(var(--lc) / .25);user-select:none}
.pdb-lh em{font-style:normal;font-weight:700;color:var(--txt)}
.pdb-lim.mn .pdb-lh{right:0;transform:translateX(50%)} .pdb-lim.mxl .pdb-lh{left:0;transform:translateX(-50%)}
.pdb-lim.mn.e0 .pdb-lh,.pdb-lim.mn.off .pdb-lh{transform:translateX(calc(100% - var(--rx) + 4px))}
.pdb-lim.mxl.e1 .pdb-lh,.pdb-lim.mxl.off .pdb-lh{transform:translateX(calc(-100% + var(--rx) - 4px))}
.pdb-lim.off .pdb-lh{opacity:.6;border-style:dashed;box-shadow:none}
.pdb-lim.off .pdb-lh:hover,.pdb-lim .pdb-lh:focus-visible{opacity:1}
.pdb-lh:focus-visible{outline:none;box-shadow:0 0 0 3px rgb(var(--lc) / .35)}
.pdb-lim.drag .pdb-lh{transform-origin:center;filter:brightness(1.2)}
.pdb-lim.drag{border-width:3px}
.pdb:has(.pdb-lim) .pdb-ax span{visibility:hidden}     /* pastilele MIN/MAX stau pe rândul axei */

/* ═══ 21.10: pagina mașinii — taburi Preț / Mentenanță / Erori ═══ */
.mtabs{display:flex;flex-direction:column;gap:14px}
.mt-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px;border:1px solid var(--line2);border-radius:14px;background:var(--panel)}
.mt-nav button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:10px;font:700 13px var(--head);color:var(--muted);transition:background .15s,color .15s}
.mt-nav button i{font-style:normal;display:grid;place-items:center;width:20px;height:20px;border-radius:6px;font:800 11px var(--mono);background:color-mix(in srgb,var(--muted) 18%,transparent)}
.mt-nav button:hover{color:var(--txt)}
.mt-nav button.on{color:var(--txt);background:color-mix(in srgb,var(--cyan) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cyan) 40%,transparent)}
.mt-nav button.on i{background:var(--cyan);color:var(--bg)}
.mt-nav button:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}
.mt-nr{font-style:normal;font:700 10.5px var(--mono);padding:1px 7px;border-radius:99px;background:color-mix(in srgb,var(--red) 28%,transparent);color:var(--txt)}
.mt-st{margin-left:auto;display:flex;align-items:center;gap:10px;padding-right:8px;font-size:11.5px}
.mt-b[hidden]{display:none!important}
.mt-b>.vs-inl{border:1px solid var(--line2);border-radius:14px;padding:16px 18px;background:var(--panel)}
.fs-vast .vsx{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.vsx-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.vsx-top .vs-in input{font-size:17px;padding:11px 12px}
.vsx-msg{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;min-height:16px;font:600 11.5px var(--head)}
.vsx-msg #vsx-bh{margin-left:auto;text-align:right}
.vsx-more{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 40%,transparent)}
.vsx-more>summary{cursor:pointer;list-style:none;display:flex;flex-direction:column;gap:2px;padding:10px 14px 10px 34px;position:relative}
.vsx-more>summary::-webkit-details-marker{display:none}
.vsx-more>summary::before{content:'›';position:absolute;left:14px;top:9px;font:700 16px var(--mono);color:var(--cyan);transition:transform .2s}
.vsx-more[open]>summary::before{transform:rotate(90deg)}
.vsx-more>summary b{font:700 12.5px var(--head);color:var(--txt)} .vsx-more>summary small{font-size:11px;color:var(--muted)}
.vsx-more>.vs-grid{grid-template-columns:minmax(0,1fr);gap:16px;padding:4px 14px 14px}
.vsx .vs-foot{margin-top:2px}
.mt-lim{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;margin:4px 0 2px;padding-bottom:10px;border-bottom:1px dashed var(--line2)}
.mt-lim-h{grid-column:1/-1;display:flex;flex-direction:column;gap:2px;margin-bottom:2px}
.mt-lim-h b{font:700 12.5px var(--head);color:var(--txt)} .mt-lim-h small{font-size:11px;color:var(--muted)}
.mt-lim .fld{border-bottom:0}
.mt-lim .fld:has(#x_pret_minim_net) input{border-color:rgb(96 165 250 / .6)}
.mt-lim .fld:has(#x_pret_maxim_net) input{border-color:rgb(192 132 252 / .6)}
.fs-auto .mt-p{margin:2px 0 8px;font-size:12px;color:var(--muted);line-height:1.5}
.fs-auto .mt-next{margin:10px 0 0;padding:10px 12px;border:1px dashed var(--line2);border-radius:10px;font-size:11.5px;color:var(--dim)}
.mt-warn{font:600 11.5px var(--head);color:var(--amber,#fbbf24);min-height:0}
.mt-warn:empty{display:none}
@media (max-width:700px){
  .mt-nav button{padding:8px 11px;font-size:12.5px} .mt-st{margin-left:0;width:100%;padding:2px 6px 4px}
  .vsx-top,.mt-lim{grid-template-columns:minmax(0,1fr)}
  .mt-b>.vs-inl{padding:12px}
}

/* 21.10: data + ora în tema paginii (mentenanța) */
.dtp{display:block}
.dtp .dp-btn{width:100%;box-sizing:border-box;justify-content:flex-start;padding:9px 12px}
.dtp .dp-btn b{text-transform:capitalize}
.dtp .dp-btn em{margin-left:auto;font-style:normal;font:800 14px var(--mono);color:var(--cyan);padding:2px 8px;border-radius:7px;background:color-mix(in srgb,var(--cyan) 12%,transparent)}
.dtp .dp-pop{width:auto;min-width:430px}
.dtp-q{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.dtp-q button{border:1px solid var(--line2);background:transparent;color:var(--txt);cursor:pointer;font:700 11.5px var(--head);padding:6px 10px;border-radius:99px}
.dtp-q button:hover{border-color:var(--cyan);color:var(--cyan);background:color-mix(in srgb,var(--cyan) 8%,transparent)}
.dtp-w{display:grid;grid-template-columns:252px 140px;gap:14px}
.dtp-c .dp-g button:disabled{opacity:.28;cursor:not-allowed;background:none}
.dtp-t{display:flex;flex-direction:column;gap:6px;min-width:0;padding-left:14px;border-left:1px solid var(--line)}
.dtp-t small{font:700 9.5px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.dtp-h{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;max-height:172px;overflow-y:auto;padding-right:2px}
.dtp-m{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.dtp-h button,.dtp-m button{height:30px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--txt);cursor:pointer;font:600 12px var(--mono)}
.dtp-h button:hover:not(:disabled),.dtp-m button:hover{background:color-mix(in srgb,var(--cyan) 14%,transparent)}
.dtp-h button:disabled{opacity:.28;cursor:not-allowed}
.dtp-h button.on,.dtp-m button.on{background:var(--cyan);color:var(--bg);font-weight:800;box-shadow:0 0 14px -3px var(--cyan)}
.dtp .dp-f{align-items:center;gap:10px}
.dtp-sel{font:600 11.5px var(--head);color:var(--txt);text-transform:capitalize;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dtp .dp-f button[data-ok]{background:var(--cyan);color:var(--bg);padding:6px 14px;border-radius:9px}
@media (max-width:520px){
  .dtp .dp-pop{min-width:0;width:min(340px,calc(100vw - 24px))}
  .dtp-w{grid-template-columns:minmax(0,1fr)}
  .dtp-t{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:10px}
  .dtp-h{grid-template-columns:repeat(8,1fr);max-height:none}
}
.dtp .dp-pop{background:color-mix(in srgb,var(--bg) 94%,var(--cyan) 6%);backdrop-filter:none;-webkit-backdrop-filter:none;
  box-shadow:0 24px 60px -12px rgba(0,0,0,.7),0 0 0 1px var(--line2)}
@media (max-width:520px){ .dtp .dp-pop{box-shadow:0 0 0 100vmax rgba(0,0,0,.6),0 24px 60px -12px rgba(0,0,0,.7)} }

/* 21.10: „i” cu ajutorul la hover (Limitele tale) */
.fld-i>label{display:flex;align-items:center;gap:7px}
.nfo{position:relative;flex:none;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;cursor:help;font:italic 700 10.5px Georgia,serif;
  color:var(--cyan);border:1px solid color-mix(in srgb,var(--cyan) 55%,transparent);background:color-mix(in srgb,var(--cyan) 10%,transparent);outline:none}
.nfo:hover,.nfo:focus-visible{background:var(--cyan);color:var(--bg)}
.nfo::after{content:attr(data-tip);position:absolute;z-index:40;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%) translateY(4px);width:max-content;max-width:260px;
  padding:9px 11px;border-radius:10px;font:500 11.5px/1.45 var(--head);font-style:normal;color:var(--txt);text-align:left;white-space:normal;
  background:color-mix(in srgb,var(--bg) 94%,var(--cyan) 6%);border:1px solid var(--line2);box-shadow:0 14px 34px -10px rgba(0,0,0,.7);
  opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}
.nfo:hover::after,.nfo:focus::after{opacity:1;transform:translateX(-50%) translateY(0)}
.mt-lim .fld-i:last-child .nfo::after{left:auto;right:-8px;transform:translateY(4px)}
.mt-lim .fld-i:last-child .nfo:hover::after,.mt-lim .fld-i:last-child .nfo:focus::after{transform:none}
@media (max-width:700px){ .mt-lim .fld-i .nfo::after{left:-8px;right:auto;transform:translateY(4px);max-width:min(260px,70vw)} .mt-lim .fld-i .nfo:hover::after,.mt-lim .fld-i .nfo:focus::after{transform:none} }
.fld.fld-i>label,.cons .fld.fld-i>label{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:7px;text-align:left}

/* 21.10: „Alte setări” — 4 carduri compacte, câte un rând pe setare (eticheta stânga, câmpul dreapta) */
.vsx-more>.vsx-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:2px 12px 12px}
.vsx-c{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--panel2) 60%,transparent);min-width:0}
.vsx-c h5{display:flex;align-items:center;gap:7px;margin:0 0 2px;font:700 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.vsx-c h5 i{font-style:normal;display:grid;place-items:center;width:18px;height:18px;border-radius:5px;font-size:11px;color:var(--cyan);background:color-mix(in srgb,var(--cyan) 12%,transparent)}
.vsx-r{display:grid;grid-template-columns:minmax(0,1fr) 128px;align-items:center;gap:8px;min-width:0}
.vsx-c small.vsx-e,.vs-f small.vsx-e,.vsx-e{grid-column:1/-1;font:800 12.5px/1.3 var(--mono);color:#ff4d6a;text-shadow:0 0 12px rgba(255,77,106,.35)} .vsx-e::before{content:'⚠ ';} .vsx-c small.vsx-e[hidden],.vs-f small.vsx-e[hidden]{display:none}
.vs-in:has(> input.bad){border-color:#ff4d6a;box-shadow:0 0 0 2px rgba(255,77,106,.3)}
#vs-save.blocat:disabled{opacity:1;cursor:not-allowed;color:#ff4d6a;background:rgba(255,77,106,.12);border-color:#ff4d6a;box-shadow:none;animation:none}
.vsx-r>span{font:600 11.5px var(--head);color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vsx-c .vs-in{border-radius:8px}
.vsx-c .vs-in input{font-size:12.5px;padding:6px 8px;text-align:right}
.vsx-c .vs-in i{padding:0 7px;font-size:10px}
.vsx-c.vs-term{margin:0}
.vsx-c.vs-term .seg{display:flex;width:100%}
.vsx-c.vs-term .seg a{flex:1;text-align:center;padding:5px 6px;font-size:11px}
.vsx-c.vs-term .vs-term-v{display:flex;flex-direction:column;gap:4px}
.vsx-c.vs-term .vs-term-v .vs-in{max-width:128px;align-self:flex-end}
.vsx-c small,.vsx-n{font:500 10.5px/1.35 var(--head);color:var(--dim)}
.vsx-c.vs-term .dp{align-self:flex-end}
@media (max-width:1100px){ .vsx-more>.vsx-g{grid-template-columns:minmax(0,1fr)} }
.vsx-c.vs-term .vs-term-v[hidden]{display:none!important}
.vsx-more>.vsx-g{align-items:start;align-content:start}
.vsx-g>section.vsx-c{margin:0!important}
.vsx-c.vs-term .vs-term-v{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
.vsx-c.vs-term .vs-term-v small{order:-1;flex:1;min-width:0}
.vsx-c.vs-term .vs-term-v .vs-in,.vsx-c.vs-term .dp{flex:none;align-self:center}

/* 21.10: „Alte setări” — carduri egale pe rând; ajutorul în „i”; calendarul se deschide în sus când jos nu încape */
.vsx-more>.vsx-g{align-items:stretch}
.vsx-c h5 .nfo{margin-left:auto}
.nfo::after{text-transform:none;letter-spacing:normal}
.vsx-c .nfo::after{left:auto;right:-8px;transform:translateY(4px)}
.vsx-c .nfo:hover::after,.vsx-c .nfo:focus::after{transform:none}
.vsx-c.vs-term .vs-term-v{justify-content:flex-end}
.vsx-c.vs-term .vs-term-v .nfo{order:2}
.dp-pop.sus{top:auto;bottom:calc(100% + 8px)}
.vsx-c h5 .nfo::after{width:260px;max-width:min(260px,70vw)}
.vsx-c h5 .nfo::after{bottom:auto;top:calc(100% + 9px)}
.vsx-c{position:relative} .vsx-c h5{position:relative;z-index:5}
.vsx-c:has(.nfo:hover),.vsx-c:has(.nfo:focus){z-index:20}
.nfo:hover,.nfo:focus{z-index:50}

/* 21.10: limitele — câmpurile pe capete (MIN stânga, MAX dreapta, ca liniile de pe grafic), textele spre mijloc */
.cons .mt-lim .fld-i:has(#x_pret_minim_net){flex-direction:row-reverse;justify-content:flex-end}
.cons .mt-lim .fld-i:has(#x_pret_maxim_net){justify-content:flex-end}
.cons .mt-lim .fld-i>label{flex:0 1 auto;padding-right:0}
.cons .mt-lim .fld-i:has(#x_pret_maxim_net)>label{justify-content:flex-end}
.cons .mt-lim .fld-i:has(#x_pret_minim_net) .nfo::after{left:-8px;right:auto;transform:translateY(4px)}
.cons .mt-lim .fld-i:has(#x_pret_minim_net) .nfo:hover::after,.cons .mt-lim .fld-i:has(#x_pret_minim_net) .nfo:focus::after{transform:none}
@media (max-width:700px){ .cons .mt-lim{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cons .mt-lim .fld-i{flex-direction:column!important;align-items:flex-start;gap:6px}
  .cons .mt-lim .fld-i:has(#x_pret_maxim_net){align-items:flex-end}
  .cons .mt-lim .fld-i>label{flex:none;white-space:nowrap}
  .cons .mt-lim .fld-i input{width:128px!important;margin:0!important;align-self:auto} }

/* 21.10: licitația minimă — % din preț sau sumă fixă */
.vsx-bid-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.vsx-bid-h>span{font:600 11.5px var(--head);color:var(--muted)}
.vsx-bm{display:inline-flex}
.vsx-bm a{cursor:pointer;min-width:26px;text-align:center;padding:2px 9px;font:800 11.5px var(--mono)}
.vsx-bid .vsx-bp{display:none} .vsx-bid.pct .vsx-bp{display:flex} .vsx-bid.pct .vsx-ba{display:none}
.vsx-bp i b{font-weight:700;color:var(--txt);margin-left:4px}
.vsx-top .vs-f>span,.vsx-top .vsx-bid-h{min-height:26px;display:flex;align-items:center}

/* ═══ 21.10: modelul automat — reper ± abatere, ținta pe grafic, drumul în timp ═══ */
.am{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line2);border-radius:14px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--cyan) 6%,transparent),transparent 70%);margin-bottom:6px}
.am-h{display:flex;align-items:center;gap:8px} .am-h b{font:700 12.5px var(--head);color:var(--txt)} .am-h .nfo{margin-left:auto}
.am-h .nfo::after{left:auto;right:-8px;transform:translateY(4px);width:280px} .am-h .nfo:hover::after,.am-h .nfo:focus::after{transform:none}
.am-anc{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.am-anc button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 4px;border-radius:10px;
  border:1px solid var(--line2);text-align:center;transition:border-color .15s,background .15s,transform .15s}
.am-anc button b{font:700 11px var(--head);color:var(--muted);white-space:nowrap}
.am-anc button em{font-style:normal;font:700 12px var(--mono);color:var(--txt);min-height:14px}
.am-anc button:hover:not(:disabled){border-color:var(--cyan)}
.am-anc button.on{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 14%,transparent);box-shadow:0 0 16px -6px var(--cyan)}
.am-anc button.on b{color:var(--cyan)}
.am-anc button:disabled{opacity:.35;cursor:not-allowed}
.am-anc button:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}
.am-anc button[data-anc="cer"] em{color:rgb(var(--pd-c,34 211 238))} .am-anc button[data-anc="rec"] em{color:rgb(var(--pd-g))} .am-anc button[data-anc="mx"] em{color:rgb(var(--pd-y))}
.am-body{display:flex;flex-direction:column;gap:10px;transition:opacity .2s,filter .2s}
.am.off .am-body{opacity:.4;filter:saturate(.3);pointer-events:none}
.am-lr{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:end}
.am-in{display:flex;flex-direction:column;gap:4px;min-width:0}
.am-in>span{font:700 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.am-in.jos>span{color:rgb(var(--pd-r))} .am-in.sus>span{color:rgb(var(--pd-g));text-align:right}
.am-in .vs-in input{font-size:16px;text-align:center}
.am-in.jos .vs-in:focus-within{border-color:rgb(var(--pd-r));box-shadow:0 0 0 3px color-mix(in srgb,rgb(var(--pd-r)) 15%,transparent)}
.am-in.sus .vs-in:focus-within{border-color:rgb(var(--pd-g));box-shadow:0 0 0 3px color-mix(in srgb,rgb(var(--pd-g)) 15%,transparent)}
.am-in .vs-in{position:relative}
.am-in .vs-in.clr::after{content:attr(data-old);position:absolute;left:10px;top:50%;transform:translateY(-50%);font:700 16px var(--mono);color:var(--muted);
  text-decoration:line-through;text-decoration-color:rgb(var(--pd-r));animation:amClr .7s ease-out forwards;pointer-events:none}
.am-in .vs-in.clr{animation:amBox .7s ease-out}
@keyframes amClr{0%{opacity:1;transform:translateY(-50%)}60%{opacity:.8}100%{opacity:0;transform:translateY(-120%)}}
@keyframes amBox{0%{box-shadow:0 0 0 2px color-mix(in srgb,rgb(var(--pd-r)) 50%,transparent)}100%{box-shadow:0 0 0 0 transparent}}
.am-mid{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:96px}
.am-mod a{cursor:pointer;min-width:26px;text-align:center;padding:2px 9px;font:800 11.5px var(--mono)}
.am-res{display:flex;align-items:baseline;gap:6px;font:700 13px var(--mono);color:var(--muted)}
.am-res i{font-style:normal;color:var(--dim)} .am-t{font-size:17px;color:var(--txt);transition:color .2s}
.am-t.dn{color:rgb(var(--pd-r))} .am-t.up{color:rgb(var(--pd-g))}
.am-d{font:600 10.5px var(--head);color:var(--muted);text-align:center;min-height:13px}
.am-path{border:1px solid var(--line);border-radius:11px;padding:8px 8px 6px;background:color-mix(in srgb,var(--bg) 50%,transparent)}
.am-svg{display:block;width:100%;height:96px;overflow:visible}
.am-ga{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 4;opacity:.55;vector-effect:non-scaling-stroke}
.am-area{fill:color-mix(in srgb,var(--cyan) 10%,transparent)} .am-area.dn{fill:color-mix(in srgb,rgb(var(--pd-r)) 10%,transparent)} .am-area.up{fill:color-mix(in srgb,rgb(var(--pd-g)) 10%,transparent)}
.am-ln{fill:none;stroke:var(--cyan);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.am-ln.dn{stroke:rgb(var(--pd-r))} .am-ln.up{stroke:rgb(var(--pd-g))}
.am-ln.go{stroke-dasharray:1;stroke-dashoffset:1;animation:amDraw .9s cubic-bezier(.3,.7,.2,1) forwards}
@keyframes amDraw{to{stroke-dashoffset:0}}
.am-p0{fill:var(--txt)} .am-p1{fill:var(--cyan);filter:drop-shadow(0 0 5px var(--cyan))} .am-p1.dn{fill:rgb(var(--pd-r))} .am-p1.up{fill:rgb(var(--pd-g))}
.am-leg{display:flex;justify-content:space-between;align-items:baseline;margin-top:4px;font:600 10.5px var(--head);color:var(--muted)}
.am-leg b{font:700 12px var(--mono);color:var(--txt)} .am-leg b.dn{color:rgb(var(--pd-r))} .am-leg b.up{color:rgb(var(--pd-g))}
.am-leg .am-l1{padding:1px 8px;border-radius:99px;background:color-mix(in srgb,var(--cyan) 12%,transparent);color:var(--cyan);font-family:var(--mono)}
.am-sub{display:flex;align-items:center;gap:8px;margin:14px 0 2px;font:700 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.am-sub .nfo{margin-left:auto} .am-sub .nfo::after{left:auto;right:-8px;transform:translateY(4px);width:260px;text-transform:none}
.fs-auto .fld-i .nfo::after{left:auto;right:-8px;transform:translateY(4px)} .fs-auto .fld-i .nfo:hover::after,.fs-auto .fld-i .nfo:focus::after{transform:none}
/* ținta pe bara mare */
.pdb-tg{position:absolute;top:-6px;width:0;height:42px;z-index:2;pointer-events:none;transition:left .45s cubic-bezier(.3,1.3,.5,1)}
.pdb-tg i{position:absolute;left:-1px;top:0;bottom:0;width:2px;background:repeating-linear-gradient(180deg,var(--txt) 0 4px,transparent 4px 7px);opacity:.85}
.pdb-tg i::after{content:'';position:absolute;left:-5px;top:-4px;width:12px;height:12px;border-radius:50%;border:2px solid var(--txt);background:var(--bg);box-sizing:border-box}
.pdb-tg span{position:absolute;top:-30px;left:50%;transform:translateX(-50%);white-space:nowrap;font:700 10px var(--mono);color:var(--txt);
  padding:1px 6px;border-radius:6px;background:var(--panel2);border:1px solid var(--line2)}
.pdb-tgb{position:absolute;top:9px;height:12px;border-radius:6px;pointer-events:none;z-index:1;transition:left .45s cubic-bezier(.3,1.3,.5,1),width .45s cubic-bezier(.3,1.3,.5,1);
  background:repeating-linear-gradient(90deg,color-mix(in srgb,rgb(var(--pd-g)) 55%,transparent) 0 6px,transparent 6px 10px);animation:amFlow 1s linear infinite}
.pdb-tgb.dn{background:repeating-linear-gradient(90deg,color-mix(in srgb,rgb(var(--pd-r)) 60%,transparent) 0 6px,transparent 6px 10px);animation-direction:reverse}
.pdb-tg[hidden],.pdb-tgb[hidden]{display:none}
@keyframes amFlow{to{background-position:20px 0}}
@media (prefers-reduced-motion:reduce){ .pdb-tgb,.am-ln.go,.am-in .vs-in.clr,.am-in .vs-in.clr::after{animation:none} .am-ln.go{stroke-dashoffset:0} }
@media (max-width:700px){ .am-anc{grid-template-columns:repeat(2,minmax(0,1fr))} .am-mid{min-width:76px} }

/* 21.10 (v2): modelul ca o consolă — % / $ sus, cadran cu ac + rotița reperului la mijloc, mai jos / mai sus pe laturi */
.am-stage{display:grid;grid-template-columns:minmax(0,1fr) 224px minmax(0,1fr);grid-template-areas:". mod ." "jos dial sus" ". mid .";align-items:center;gap:4px 14px;padding:2px 0 4px}
.am-stage .am-mod{grid-area:mod;justify-self:center;margin-bottom:2px}
.am-stage .am-in.jos{grid-area:jos} .am-stage .am-in.sus{grid-area:sus}
.am-stage .am-in{align-self:center;margin-top:-34px}
.am-stage .am-in.sus>span{text-align:right}
.am-stage .am-mid{grid-area:mid;justify-self:center;min-width:0;margin-top:2px}
.am-dial{grid-area:dial;display:flex;flex-direction:column;align-items:center}
.am-g{display:block;width:220px;height:112px;overflow:visible}
.am-g .s-r{stop-color:rgb(var(--pd-r))} .am-g .s-n{stop-color:var(--muted)} .am-g .s-g{stop-color:rgb(var(--pd-g))}
.am-arc{fill:none;stroke:url(#amgr);stroke-width:9;stroke-linecap:round;opacity:.28}
.am-act{fill:none;stroke:var(--cyan);stroke-width:9;stroke-linecap:round;filter:drop-shadow(0 0 6px var(--cyan))}
.am-act.dn{stroke:rgb(var(--pd-r));filter:drop-shadow(0 0 6px rgb(var(--pd-r)))} .am-act.up{stroke:rgb(var(--pd-g));filter:drop-shadow(0 0 6px rgb(var(--pd-g)))}
.am-tk line{stroke:var(--line2);stroke-width:1.4} .am-tk line.mj{stroke:var(--muted);stroke-width:2}

.am-nd line{stroke:var(--txt);stroke-width:3;stroke-linecap:round}
.am-nd circle{fill:var(--bg);stroke:var(--txt);stroke-width:3}
.am.dn .am-nd line,.am.dn .am-nd circle{stroke:rgb(var(--pd-r))} .am.up .am-nd line,.am.up .am-nd circle{stroke:rgb(var(--pd-g))}
.am.off .am-nd,.am.off .am-act{opacity:.25}
.am-drum{position:relative;width:200px;height:90px;overflow:hidden;margin-top:-2px;cursor:ns-resize;outline:none;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 34%,#000 66%,transparent);mask-image:linear-gradient(180deg,transparent,#000 34%,#000 66%,transparent)}
.am-drum::before{content:'';position:absolute;left:10px;right:10px;top:30px;height:30px;border-radius:9px;pointer-events:none;
  border:1px solid color-mix(in srgb,var(--cyan) 45%,transparent);background:color-mix(in srgb,var(--cyan) 9%,transparent)}
.am-drum:focus-visible::before{box-shadow:0 0 0 2px var(--cyan)}
.am-drum-in{position:relative;padding-top:30px;transition:transform .45s cubic-bezier(.3,1.4,.5,1)}
.am-drum button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:baseline;justify-content:center;gap:7px;width:100%;height:30px;line-height:30px;
  opacity:calc(1 - var(--o,0) * .38);transform:scale(calc(1 - var(--o,0) * .1));transition:opacity .3s,transform .3s}
.am-drum button b{font:700 12px var(--head);color:var(--muted);white-space:nowrap}
.am-drum button em{font-style:normal;font:700 12px var(--mono);color:var(--txt)}
.am-drum button.on b{font-size:13.5px;color:var(--txt)} .am-drum button.on em{font-size:13.5px;color:var(--cyan)}
.am-drum button[data-anc="cer"].on em{color:rgb(var(--pd-c))} .am-drum button[data-anc="rec"].on em{color:rgb(var(--pd-g))} .am-drum button[data-anc="mx"].on em{color:rgb(var(--pd-y))}
.am-drum button:disabled{cursor:not-allowed;opacity:.2}
.am-stage .am-res{justify-content:center}
.am.off .am-in,.am.off .am-mid{opacity:.4;filter:saturate(.3)}
.am.off .am-body{opacity:.4;filter:saturate(.3);pointer-events:none}
@media (max-width:700px){
  .am-stage{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"mod mod" "dial dial" "mid mid" "jos sus"}
  .am-stage .am-in{margin-top:6px}
}
@media (prefers-reduced-motion:reduce){ .am-nd,.am-drum-in{transition:none} }
.am-drum{margin-top:8px}
/* 21.10 (v3): cadran mai mare, acul se trage */
.am-stage{grid-template-columns:minmax(0,1fr) 300px minmax(0,1fr)}
.am-g{width:300px;height:153px;cursor:grab;touch-action:none;outline:none}
.am-g:focus-visible .am-arc{opacity:.55}
.am.drag .am-g{cursor:grabbing}
.am.off .am-g{cursor:default}
.am-nd circle{r:8}
.am-stage .am-in{margin-top:-60px}
.am-drum{width:220px}
@media (max-width:700px){
  .am-stage{grid-template-columns:repeat(2,minmax(0,1fr))}
  .am-g{width:min(330px,100%);height:auto;aspect-ratio:220/112}
  .am-stage .am-in{margin-top:6px}
}
@media (min-width:701px) and (max-width:1250px){ .am-stage{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"mod mod" "dial dial" "mid mid" "jos sus"} .am-stage .am-in{margin-top:6px} }
/* zona de împins: cât ții acul la capăt, abaterea crește — arcul pulsează */
.am.push .am-act{animation:amPush .45s ease-in-out infinite alternate}
.am.push .am-t{animation:amPush .45s ease-in-out infinite alternate}
@keyframes amPush{from{opacity:1}to{opacity:.55}}
@media (prefers-reduced-motion:reduce){ .am.push .am-act,.am.push .am-t{animation:none} }
/* cât se trage acul, câmpul care se schimbă crește și strălucește, apoi revine */
.am-in .vs-in{transition:transform .25s cubic-bezier(.3,1.5,.5,1),box-shadow .25s,border-color .25s}
.am-in.live .vs-in{transform:scale(1.28);z-index:3}
.am-in.jos .vs-in,.am-in.live.jos .vs-in{transform-origin:left center} .am-in.sus .vs-in{transform-origin:right center}
.am-in.live.jos .vs-in{border-color:rgb(var(--pd-r));box-shadow:0 0 0 3px color-mix(in srgb,rgb(var(--pd-r)) 25%,transparent),0 0 22px -4px rgb(var(--pd-r))}
.am-in.live.sus .vs-in{border-color:rgb(var(--pd-g));box-shadow:0 0 0 3px color-mix(in srgb,rgb(var(--pd-g)) 25%,transparent),0 0 22px -4px rgb(var(--pd-g))}
.am-in.live input{font-weight:800}
.am-in>span{transition:transform .25s} .am-in.live>span{transform:scale(1.12)} .am-in.jos.live>span{transform-origin:left} .am-in.sus.live>span{transform-origin:right}
@media (prefers-reduced-motion:reduce){ .am-in .vs-in,.am-in>span{transition:none} }
/* mai discret: crește puțin, strălucire fină */
.am-in.live .vs-in{transform:scale(1.1)}
.am-in.live.jos .vs-in{box-shadow:0 0 0 2px color-mix(in srgb,rgb(var(--pd-r)) 18%,transparent),0 0 14px -6px rgb(var(--pd-r))}
.am-in.live.sus .vs-in{box-shadow:0 0 0 2px color-mix(in srgb,rgb(var(--pd-g)) 18%,transparent),0 0 14px -6px rgb(var(--pd-g))}
.am-in.live>span{transform:scale(1.05)}
.am-in.live input{font-weight:700}
/* graficul de timp: comutator „treptat” în grafic, bara de timp 0.5–12 h dedesubt */
.am-path{position:relative}
.am-tr{position:absolute;top:8px;right:10px;z-index:2;display:inline-flex;align-items:center;gap:7px;cursor:pointer;user-select:none;
  padding:3px 9px 3px 4px;border-radius:99px;background:color-mix(in srgb,var(--panel2) 85%,transparent);border:1px solid var(--line2)}
.am-tr input{position:absolute;opacity:0;pointer-events:none}
.am-tr i{position:relative;width:28px;height:16px;border-radius:99px;background:var(--line2);transition:background .2s}
.am-tr i::after{content:'';position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--muted);transition:transform .2s cubic-bezier(.3,1.5,.5,1),background .2s}
.am-tr input:checked+i{background:color-mix(in srgb,var(--cyan) 45%,transparent)} .am-tr input:checked+i::after{transform:translateX(12px);background:var(--cyan)}
.am-tr input:focus-visible+i{box-shadow:0 0 0 2px var(--cyan)}
.am-tr span{font:700 10.5px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.am-tr input:checked~span{color:var(--cyan)}
.am-time{position:relative;margin:10px 4px 2px;padding-bottom:16px;transition:opacity .2s}
.am-path.now .am-time{opacity:.35}
.am-time input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;margin:0;cursor:pointer;--v:50%}
.am-time input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:99px;background:linear-gradient(90deg,var(--cyan) 0% var(--v),var(--line2) var(--v) 100%)}
.am-time input[type=range]::-moz-range-track{height:6px;border-radius:99px;background:var(--line2)}
.am-time input[type=range]::-moz-range-progress{height:6px;border-radius:99px;background:var(--cyan)}
.am-time input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-6px;border-radius:50%;background:var(--bg);border:3px solid var(--cyan);box-shadow:0 0 10px -2px var(--cyan)}
.am-time input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--bg);border:3px solid var(--cyan)}
.am-time input[type=range]:disabled{cursor:not-allowed}
.am-time input[type=range]:focus-visible{outline:none} .am-time input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 35%,transparent)}
.am-tk2{position:absolute;left:9px;right:9px;bottom:0;height:14px}
.am-tk2 span{position:absolute;transform:translateX(-50%);font:600 9.5px var(--mono);color:var(--dim)}
.am-time input[type=range]{background:linear-gradient(90deg,var(--cyan) 0% var(--v),var(--line2) var(--v) 100%) center/100% 6px no-repeat!important;border:0!important;padding:0!important;box-shadow:none!important;border-radius:99px;min-height:0!important}
.am-time input[type=range]::-webkit-slider-runnable-track{background:transparent}
.am-path.now .am-time input[type=range]{filter:saturate(0)}
.am-time{--h:22px}
.am-rl{position:absolute;left:0;right:0;top:8px;height:6px;border-radius:99px;background:var(--line2);pointer-events:none}
.am-rl i{display:block;height:100%;border-radius:99px;background:var(--cyan);box-shadow:0 0 8px -2px var(--cyan);transition:width .15s}
.am-path.now .am-rl i{background:var(--muted);box-shadow:none}
.am-time input[type=range]{position:relative;background:transparent!important}
/* prețul primit din model clipește scurt în „Preț la cerere” */
.vs-in.amflash{animation:amFlash .9s ease-out}
@keyframes amFlash{0%{box-shadow:0 0 0 3px color-mix(in srgb,var(--cyan) 55%,transparent),0 0 18px var(--cyan)}100%{box-shadow:0 0 0 0 transparent}}
#vs-save.pulse:not(:disabled){box-shadow:0 0 0 0 color-mix(in srgb,var(--cyan) 50%,transparent);animation:vsPulse 1.8s ease-out infinite}
@keyframes vsPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--cyan) 45%,transparent)}100%{box-shadow:0 0 0 10px transparent}}
@media (prefers-reduced-motion:reduce){ #vs-save.pulse{animation:none} }
.am-gt{font:600 9.5px var(--mono);fill:var(--muted)}

/* 21.10 (v4): cadranul — ramă, față de sticlă, gradații fine, ac ascuțit cu butuc „bijuterie”, afișaj digital */
.am-g{width:300px;height:172px}
@media (max-width:700px){ .am-g{width:min(340px,100%);height:auto;aspect-ratio:220/126} }

.am-bez{fill:none;stroke:color-mix(in srgb,var(--line2) 70%,transparent);stroke-width:1;stroke-dasharray:1 3}
.am-face{fill:url(#amface)}
#amface .f0{stop-color:color-mix(in srgb,var(--cyan) 16%,transparent)} #amface .f1{stop-color:color-mix(in srgb,var(--cyan) 4%,transparent)} #amface .f2{stop-color:transparent}
.am.dn #amface .f0{stop-color:color-mix(in srgb,rgb(var(--pd-r)) 16%,transparent)} .am.up #amface .f0{stop-color:color-mix(in srgb,rgb(var(--pd-g)) 16%,transparent)}
.am-arc{stroke-width:6;opacity:.32}
.am-act{stroke-width:6}
.am-push{fill:none;stroke-width:6;stroke-linecap:round;stroke-dasharray:2 3;opacity:.45}
.am-push.dn{stroke:rgb(var(--pd-r))} .am-push.up{stroke:rgb(var(--pd-g))}
.am.push.dn .am-push.dn,.am.push.up .am-push.up{opacity:1;animation:amPush .45s ease-in-out infinite alternate}
.am-tk line{stroke:color-mix(in srgb,var(--muted) 45%,transparent);stroke-width:.8}
.am-tk line.md{stroke:color-mix(in srgb,var(--muted) 75%,transparent);stroke-width:1.1}
.am-tk line.mj{stroke:var(--txt);stroke-width:1.6;opacity:.8} .am-tk line.z{stroke:var(--cyan);stroke-width:2;opacity:1}
.am-num text{font:700 7.5px var(--mono);text-anchor:middle;fill:var(--muted);opacity:.85}
.am-num .n-dn{fill:color-mix(in srgb,rgb(var(--pd-r)) 70%,var(--muted))} .am-num .n-up{fill:color-mix(in srgb,rgb(var(--pd-g)) 70%,var(--muted))} .am-num .n-z{fill:var(--cyan)}
.am-chev{font:800 11px var(--mono);text-anchor:middle;opacity:.55} .am-chev.dn{fill:rgb(var(--pd-r))} .am-chev.up{fill:rgb(var(--pd-g))}
.am.push.dn .am-chev.dn,.am.push.up .am-chev.up{opacity:1;animation:amPush .45s ease-in-out infinite alternate}
.am-rd{font:800 17px var(--mono);text-anchor:middle;fill:var(--txt);letter-spacing:-.02em;transition:fill .2s}
.am-rdu{font:700 7.5px var(--mono);text-anchor:middle;fill:var(--muted);letter-spacing:.12em}
.am.dn .am-rd{fill:rgb(var(--pd-r))} .am.up .am-rd{fill:rgb(var(--pd-g))}
.am-nd line{display:none}
.am-ndp{fill:var(--txt);stroke:color-mix(in srgb,var(--bg) 60%,transparent);stroke-width:.6;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
.am.dn .am-ndp{fill:rgb(var(--pd-r))} .am.up .am-ndp{fill:rgb(var(--pd-g))}
.am-hub{fill:url(#amhub);stroke:color-mix(in srgb,var(--txt) 55%,transparent);stroke-width:1.2;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}
#amhub .h0{stop-color:#fff} #amhub .h1{stop-color:color-mix(in srgb,var(--txt) 70%,var(--bg))} #amhub .h2{stop-color:var(--bg)}
.am-hub2{fill:var(--cyan)} .am.dn .am-hub2{fill:rgb(var(--pd-r))} .am.up .am-hub2{fill:rgb(var(--pd-g))}
.am-nd .am-hub{r:8.5px} .am-nd .am-hub2{r:2.6px}

.am.dn .am-nd circle,.am.up .am-nd circle{stroke:unset}
.am.dn .am-nd .am-hub,.am.up .am-nd .am-hub{stroke:color-mix(in srgb,var(--txt) 55%,transparent)}

.am-rd,.am-rdu{paint-order:stroke;stroke:color-mix(in srgb,var(--bg) 85%,transparent);stroke-width:2.5px;stroke-linejoin:round;pointer-events:none}
.am-rdu{stroke-width:2px}

/* 21.10 (v5): lux — ramă cromată, luciu de sticlă, sclipire pe arc, muchie de lumină pe ac */
.am-chr{fill:none;stroke:url(#amchr);stroke-width:3.2;stroke-linecap:round;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.55))}
#amchr .c0{stop-color:#ffffff;stop-opacity:.75} #amchr .c1{stop-color:#8b95a7;stop-opacity:.45} #amchr .c2{stop-color:#ffffff;stop-opacity:.9}
#amchr .c3{stop-color:#3b4252;stop-opacity:.7}
.am-bez{stroke-dasharray:none;stroke:color-mix(in srgb,var(--txt) 10%,transparent);stroke-width:.6}
.am-glass{fill:url(#amgl);pointer-events:none}
#amgl .g0{stop-color:#fff;stop-opacity:.16} #amgl .g1{stop-color:#fff;stop-opacity:.04} #amgl .g2{stop-color:#fff;stop-opacity:0}
.am-spec{fill:none;stroke:#fff;stroke-width:1.4;stroke-linecap:round;opacity:.45;filter:blur(.4px);pointer-events:none}
.am-shine{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-dasharray:6 260;opacity:.85;pointer-events:none;
  filter:drop-shadow(0 0 3px #fff);animation:amShine 2.6s linear infinite}
@keyframes amShine{from{stroke-dashoffset:270}to{stroke-dashoffset:0}}
.am-ndl{fill:#fff;opacity:.38;pointer-events:none}
.am-hub{stroke:url(#amchr)!important;stroke-width:1.6}
.am.off .am-shine{display:none}
@media (prefers-reduced-motion:reduce){ .am-shine{animation:none;display:none} }
/* 21.10 (v6): fără câmpurile laterale — valorile se văd și se scriu în centrul cadranului */
.am-stage .am-in{display:none!important}
.am-stage{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"mod" "dial" "mid"!important;justify-items:center}
.am-dial{position:relative}
.am-rd{pointer-events:auto!important;cursor:text}
.am-rd:hover{text-decoration:underline;text-decoration-thickness:1px}
.am-rd:focus{outline:none} .am-rd:focus-visible{stroke:var(--cyan)}
.am-edit{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:96px;z-index:5;text-align:center;
  font:800 20px var(--mono)!important;padding:6px 8px!important;border-radius:12px!important;color:var(--txt)!important;
  background:color-mix(in srgb,var(--bg) 92%,var(--cyan) 8%)!important;border:1.5px solid var(--cyan)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--cyan) 18%,transparent),0 10px 30px -8px rgba(0,0,0,.7)!important}
.am-edit[hidden]{display:none}
.am-num text{font-size:7px}
/* telefon: cadranul cât mai mare */
@media (max-width:700px){
  .fs-auto .am{padding:10px 4px;margin-left:-6px;margin-right:-6px}
  .am-dial{width:100%}
  .am-g{width:100%!important;max-width:440px;height:auto!important;aspect-ratio:220/126}
  .am-rd{font-size:19px}
}
/* „Preț la cerere” în dreapta, sub graficul modelului */
.am-dem{display:flex;flex-direction:column;gap:6px;margin:4px 0 6px;padding:12px;border:1px solid var(--line2);border-radius:14px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--cyan) 5%,transparent),transparent)}
.am-dem .vs-f>span{font:700 12.5px var(--head);color:var(--txt)}
.am-dem .vs-in input{font-size:20px;padding:11px 12px;font-weight:800}
.am-dem #vsx-pw{font:600 11.5px var(--head)} .am-dem #vsx-pw:empty{display:none}
.vsx-top.solo{grid-template-columns:minmax(0,1fr)}
@media (min-width:701px){ .vsx-top.solo .vsx-bid{max-width:360px} }
/* 21.10: linia de preț a graficului mare — dublă ca grosime */
.pdb-tr{top:7px;height:16px}
.pdb-tk{top:5px;height:20px}
.pdb-dl{top:3px;height:24px;border-radius:6px}
.pdb-tgb{top:5px;height:20px;border-radius:10px}
/* Aplică: ținta → „Preț la cerere” */
.am-ap{all:unset;box-sizing:border-box;cursor:pointer;margin-top:8px;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:11px;
  font:700 12.5px var(--head);color:var(--bg);background:var(--cyan);box-shadow:0 6px 20px -8px var(--cyan);transition:transform .15s,opacity .2s,filter .2s}
.am-ap span{font:800 14px var(--mono)}
.am-ap:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.1)}
.am-ap:focus-visible{outline:2px solid var(--txt);outline-offset:2px}
.am-ap:disabled{cursor:default;opacity:.35;background:var(--line2);color:var(--muted);box-shadow:none}
.am-ap.go{animation:vsPulse 1.8s ease-out infinite}
.am.off .am-ap{display:none}
/* 23.10: avertisment de 4 s peste cadran (market subțire) */
.am-dial{position:relative}
.am-warn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);width:min(92%,300px);padding:10px 14px;border-radius:12px;z-index:5;pointer-events:none;opacity:0;transition:opacity .25s,transform .25s;
  font:600 12px var(--mono);line-height:1.4;text-align:center;color:var(--txt);background:color-mix(in srgb,var(--panel2) 94%,transparent);border:1px solid color-mix(in srgb,var(--amber) 60%,transparent);box-shadow:0 14px 40px -12px #000,0 0 0 3px color-mix(in srgb,var(--amber) 14%,transparent)}
.am-warn.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.am-grad-n{display:block;text-align:center;margin-top:6px;font:600 11px var(--mono);color:var(--muted);line-height:1.35}
.am.off .am-grad-n{display:none}
@media (prefers-reduced-motion:reduce){ .am-ap.go{animation:none} }
.am-body>.am-ap{align-self:center;margin-top:2px}
/* calendarul deschis peste coloana vecină (fieldset-ul cu backdrop-filter îl prindea dedesubt) */
.fs:has(.dp.open),.mp-col:has(.dp.open){position:relative;z-index:30}
.dp-g button:disabled{opacity:.28;cursor:not-allowed;background:none}
/* câmpurile numerice întregi (fost type=number) arată ca restul */
.cons .fld input[inputmode=numeric]{width:106px;padding:5px 8px;font-size:12.5px;background:var(--c-in)}
@media (max-width:700px){ .cons .fld input[inputmode=numeric]{width:128px;font-size:16px;min-height:40px} }
/* 21.10: cadranul aproape cât tot blocul și pe PC */
.am-dial{width:100%}
.am-g{width:min(100%,640px)!important;height:auto!important;aspect-ratio:220/126}
.am-stage{grid-template-columns:minmax(0,1fr)!important}
/* % / $ la dreapta selectorului de reper; cadranul urcă sus */
.am-stage{grid-template-areas:"dial" "mid"!important}
.am-sel{display:flex;align-items:center;justify-content:center;gap:14px}
.am-sel .am-mod{flex-direction:column;margin:0}
.am-sel .am-mod a{padding:5px 12px}
.am-sel .am-mod{flex-direction:row}
.am-g{width:min(100%,460px)!important}
/* selectorul de reper rămâne pe centru; % | $ stă lângă el, în dreapta */
.am-sel{position:relative;width:100%;justify-content:center}
.am-sel .am-mod{position:absolute;left:calc(50% + 124px);top:50%;transform:translateY(-50%)}
@media (max-width:520px){ .am-sel .am-mod{left:auto;right:0} }
@media (max-width:520px){
  .am-sel .am-drum{width:min(176px,52vw)}
  .am-sel .am-mod{left:calc(50% + min(88px,26vw) + 8px);right:auto}
  .am-sel .am-mod a{padding:5px 9px}
}
/* selectorul: elementul ales centrat vertical în fereastră, conturul mai îngust */
.am-drum button{align-items:center;line-height:1}
.am-drum::before{left:30px;right:30px}
@media (max-width:520px){ .am-drum::before{left:14px;right:14px} }

/* 22.10: pagina mașinii — „Price on vast” și „Automation” într-un singur card; titlurile rămân sus, pe coloane */
.cons .mtabs .mpanel{gap:0;align-items:stretch;position:relative;border:1px solid var(--line);border-radius:18px;padding:6px 0 4px;
  background:linear-gradient(160deg,color-mix(in srgb,var(--panel2) 88%,transparent),color-mix(in srgb,var(--bg) 70%,var(--panel)))}
.cons .mtabs .mpanel::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(520px 140px at 0 0,color-mix(in srgb,var(--cyan) 9%,transparent),transparent 70%)}
.cons .mtabs .mp-col>.fs{border:0;border-radius:0;background:none;box-shadow:none;padding:10px 20px 14px}
.cons .mtabs .mp-col>.fs::after{display:none}
.cons .mtabs .mp-col+.mp-col{border-left:1px solid color-mix(in srgb,var(--line) 80%,transparent)}
.cons .mtabs .mp-col>.fs>legend{float:left;width:100%;margin:0 0 10px;padding:0 0 8px;border-bottom:1px solid color-mix(in srgb,var(--cyan) 18%,transparent)}
.cons .mtabs .mp-col>.fs>legend+*{clear:both}
@media (max-width:900px){
  .cons .mtabs .mp-col+.mp-col{border-left:0;border-top:1px solid color-mix(in srgb,var(--line) 80%,transparent)}
  .cons .mtabs .mp-col>.fs{padding:10px 12px 12px} }

/* 22.10: „Setarea curentă" sub Alte setări */
.ms{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--cyan) 22%,transparent);
  background:linear-gradient(160deg,color-mix(in srgb,var(--cyan) 6%,transparent),color-mix(in srgb,var(--bg) 40%,transparent))}
.ms:empty{display:none}
.ms-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.ms-h>b{font:700 12px var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-right:auto}
.ms-sv{font:600 10.5px var(--mono);color:var(--muted);padding:2px 8px;border-radius:999px;border:1px solid var(--line)}
.ms-sv.un{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent)}
.ms-pill{font:700 10.5px var(--mono);letter-spacing:.04em;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.ms-pill.live{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,transparent);background:color-mix(in srgb,var(--green) 10%,transparent)}
.ms-pill.dry{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent);background:color-mix(in srgb,var(--amber) 8%,transparent)}
.ms-none{font-size:12.5px;color:var(--muted);line-height:1.5}
.ms-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.ms-c{padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--txt) 3%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);min-width:0}
.ms-c small{display:block;font-size:10.5px;color:var(--muted);margin-bottom:3px}
.ms-c b{font:600 13px var(--head);color:var(--txt)}
.ms-c em{font:700 12.5px var(--mono);font-style:normal;color:var(--cyan)}
.ms-c.dn b{color:var(--red)} .ms-c.up b{color:var(--green)}
.ms-st{margin-top:10px;padding:9px 11px;border-radius:10px;border-left:3px solid var(--line2);background:color-mix(in srgb,var(--txt) 2.5%,transparent)}
.ms-st.full{border-left-color:var(--green)} .ms-st.loop{border-left-color:var(--cyan)}
.ms-st small{display:block;font:700 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.ms-st span{font-size:12.5px;color:var(--txt);line-height:1.45}
.ms-pr{margin-top:8px;height:4px;border-radius:4px;background:color-mix(in srgb,var(--txt) 8%,transparent);overflow:hidden}
.ms-pr i{display:block;height:100%;border-radius:inherit;transition:width .4s}
.ms-pr.dn i{background:linear-gradient(90deg,var(--cyan),var(--red))} .ms-pr.up i{background:linear-gradient(90deg,var(--cyan),var(--green))}
.ms-g{grid-template-columns:repeat(4,minmax(0,1fr))}
.ms-c .ms-l{display:block;line-height:1.55}
.ms-c .ms-bid{display:block;margin-top:2px;font:500 11px var(--head);font-style:normal;color:var(--muted)} .ms-c .ms-bid em{font-size:11.5px}
@media (max-width:1100px){.ms-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 22.10: treapta de sub mouse pe graficul pe ore */
.am-svg{touch-action:pan-y}
.am-hv{pointer-events:none}
.am-hv line{stroke:color-mix(in srgb,var(--txt) 35%,transparent);stroke-width:1;stroke-dasharray:3 3}
.am-hv circle{fill:var(--bg);stroke:var(--cyan);stroke-width:2}
.am-hv.dn circle{stroke:rgb(var(--pd-r))} .am-hv.up circle{stroke:rgb(var(--pd-g))}
.am-hv rect{fill:color-mix(in srgb,var(--bg) 88%,transparent);stroke:color-mix(in srgb,var(--cyan) 40%,transparent)}
.am-hv text{font:700 10.5px var(--mono);fill:var(--txt)}

/* 22.10: Jurnale — cele două liste într-un singur card, despărțite, mai înalte */
.lg-card{gap:0}
.lg-card .lg-s+.lg-s{margin-top:18px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--line) 85%,transparent)}
.lg-card .lg-s>h3{display:flex;align-items:center;gap:8px;font:700 12px var(--head);letter-spacing:.16em;color:var(--muted);margin:0 0 12px}
.lg-card .lg-s>h3::before{content:"";width:7px;height:7px;border-radius:2px;transform:rotate(45deg);background:var(--cyan);box-shadow:0 0 10px var(--cyan);flex:none}
.lg-card .events{max-height:min(60vh,620px)}
.cons-wrap>.lg-card{grid-column:1/-1}
/* 22.10: Earnings — selectorul de mașină lângă intervale */
.ctl-row .e-msel{margin-right:auto;display:inline-flex}
@media (max-width:640px){ .ctl-row .e-msel{width:100%} .ctl-row .e-msel .sd,.ctl-row .e-msel .sd-btn{width:100%;max-width:none} .ctl-row .e-msel .sd-btn{justify-content:space-between} }
/* 23.10: ținta deasupra etichetelor optimal / optimal high / market — linia punctată mai lungă, pastila mai sus */
.pdb-tg{top:-68px;height:104px}
.pdb-tg span{top:-26px}
.pdb-rail:has(.pdb-tg:not([hidden])){margin-top:112px}
@media (max-width:700px){ .pdb-rail:has(.pdb-tg:not([hidden])){margin-top:108px} }
.pdb-mk:not(.cur){z-index:5}
.pdb-th{z-index:6}
/* 23.10: etichetele optimal / optimal high / market — un fundal mic, cât textul, ca să se citească peste linii */
.pdb-mk.rec span,.pdb-mk.mx span,.pdb-mk.cer span{padding:2px 6px 3px;border-radius:7px;line-height:1.25;
  background:color-mix(in srgb,var(--panel2) 90%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--line2) 70%,transparent)}
/* 23.10: liniile MIN/MAX trec pe sub „acum" (stânga sus) și prețul (dreapta sus) — același fundal mic, cât textul */
.pdb-now,.pdb-live{position:relative;z-index:5;padding:4px 8px 5px;border-radius:9px;
  background:color-mix(in srgb,var(--panel2) 90%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--line2) 70%,transparent)}
.pdb-hd{padding:8px 8px 4px}
.pdb-tg{z-index:4}
/* 23.10: cardul din dashboard — decizia motorului, cu DRY/LIVE lângă ea */
.dz-mod{font:800 9px var(--mono);letter-spacing:.12em;padding:2px 6px;border-radius:6px;border:1px dashed var(--line2);color:var(--muted)}
.dz-mod.live{border-style:solid;border-color:var(--green);color:var(--green)}
.dz-mod.dry{border-color:var(--amber, #f5b942);color:var(--amber, #f5b942)}
.reason.dz-off{opacity:.75}

/* 23.10: Setări › Platformă */
.pl .pl-cmd{display:block;margin-top:6px;padding:7px 10px;border-radius:8px;background:var(--panel2);border:1px solid var(--line2);font:600 12px var(--mono);white-space:pre-wrap;word-break:break-all;user-select:all}
.pl .pl-steps{margin:0;padding-left:20px;display:grid;gap:12px} .pl .pl-steps li span{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.pl .pl-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.pl .pl-ops{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px} .pl .pl-ops small{display:block;color:var(--muted);margin-top:4px}
.pl .pl-sec{margin:0;padding-left:18px;display:grid;gap:5px;color:var(--muted);font-size:12.5px}
.pl .pl-tbl td small{display:block;color:var(--muted);font-size:11px}
.pl .pl-tbl .pl-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--muted)}
.pl .pl-tbl tr.ok .pl-dot{background:var(--green);box-shadow:0 0 7px var(--green)} .pl .pl-tbl tr.bad .pl-dot{background:var(--red)} .pl .pl-tbl tr.off{opacity:.6}
.pl .pl-ms{font:800 12px var(--mono)} .pl .pl-ms.ok{color:var(--green)} .pl .pl-ms.mid{color:var(--amber, #f5b942)} .pl .pl-ms.bad{color:var(--red)}
.pl #nxa-pkey .nxa-card,.pl #nxa-relee .nxa-card{margin-top:0;border:0;padding:0;background:none;box-shadow:none}

.pl .pl-ev>td{padding-top:0} .pl .pl-ev summary{cursor:pointer;font-size:12px;color:var(--muted)}
.pl .pl-jt td{font-size:11.5px;padding:4px 8px} .pl .pl-jt tr.g3 td{color:var(--red);font-weight:700} .pl .pl-jt tr.g2 td b{color:var(--amber, #f5b942)}
/* 23.10: Platformă — sus cheia și serverele, jumătate-jumătate; dedesubt monitorizarea și ghidul pe toată lățimea */
.cons-wrap.pl{display:flex;flex-direction:column;gap:16px;max-width:none}
.cons-wrap.pl>h2{margin-bottom:-6px}
.pl .pl-sus{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
@media (max-width:980px){ .pl .pl-sus{grid-template-columns:1fr} }
.pl .pl-c{margin:0;display:flex;flex-direction:column;gap:10px;padding:18px 20px;border-radius:16px;
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel2) 92%,transparent),var(--panel));border:1px solid var(--line2)}
.pl .pl-c>h3{display:flex;align-items:center;gap:10px;margin:0 0 2px;padding-bottom:10px;border-bottom:1px solid var(--line2)}
.pl .pl-c>h3 i{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;font-style:normal;font-size:14px;
  background:color-mix(in srgb,var(--cyan) 14%,transparent);color:var(--cyan);border:1px solid color-mix(in srgb,var(--cyan) 35%,transparent)}
.pl .pl-lat{width:100%}
.pl .pl-ghid .pl-steps{counter-reset:pas;list-style:none;padding-left:0}
.pl .pl-ghid .pl-steps li{position:relative;padding-left:40px}
.pl .pl-ghid .pl-steps li::before{counter-increment:pas;content:counter(pas);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;font:800 12px var(--mono);color:var(--bg);background:var(--cyan)}
.pl .nxa-relee .nxa-rl{background:color-mix(in srgb,var(--panel) 70%,transparent)}
.pl .nxa-pk-h b{display:none}
.pl .pl-c>h3::before{display:none}

/* ══ 24.10: chat client ↔ suport ══ */
.chat-fab{all:unset;box-sizing:border-box;position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:30;width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;color:var(--bg);background:var(--cyan);box-shadow:0 12px 30px -8px var(--cyan),0 0 0 4px color-mix(in srgb,var(--cyan) 18%,transparent);transition:transform .15s}
.chat-fab:hover{transform:translateY(-2px) scale(1.04)} .chat-fab[hidden]{display:none}
.chat-fab em{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--red);color:#fff;font:800 11px/20px var(--mono);font-style:normal;text-align:center;box-shadow:0 0 0 2px var(--bg)}
.chat-fab em[hidden]{display:none}
.chat-box{position:fixed;right:20px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:30;width:min(380px,calc(100vw - 32px));height:min(540px,calc(100dvh - 120px));
  display:flex;flex-direction:column;border-radius:18px;border:1px solid var(--line2);background:linear-gradient(var(--panel2),var(--panel2)),var(--bg);backdrop-filter:blur(14px);box-shadow:0 30px 80px -24px #000,0 0 40px -24px var(--cyan);animation:pop .18s ease;overflow:hidden}
.chat-box[hidden]{display:none}
.chat-box header{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.chat-box header b{font:700 15px var(--head);letter-spacing:.04em} .chat-box header small{flex:1 1 100%;order:3;font-size:11.5px;color:var(--muted)} .chat-box header .x{margin-left:auto}
.chat-list{flex:1;min-height:0;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.chat-m{display:flex;flex-direction:column;max-width:85%} .chat-m.me{align-self:flex-end;align-items:flex-end} .chat-m.them{align-self:flex-start}
.chat-b{padding:9px 12px;border-radius:14px;font-size:13.5px;line-height:1.45;white-space:normal;word-break:break-word}
.chat-m.me .chat-b{background:color-mix(in srgb,var(--cyan) 20%,var(--panel));border:1px solid color-mix(in srgb,var(--cyan) 40%,transparent);border-bottom-right-radius:4px}
.chat-m.them .chat-b{background:var(--panel);border:1px solid var(--line2);border-bottom-left-radius:4px}
.chat-m small{font:500 10.5px var(--mono);color:var(--dim);margin-top:3px}
.chat-empty{margin:auto;text-align:center;color:var(--muted);font-size:12.5px;line-height:1.5;max-width:30ch}
.chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line)}
.chat-form textarea{flex:1;resize:none;padding:9px 11px;border-radius:11px;border:1px solid var(--line2);background:var(--bg);color:var(--txt);font:500 13.5px var(--body,var(--head));outline:none}
.chat-form textarea:focus{border-color:var(--cyan)}
@media (max-width:600px){ .chat-fab{right:14px;width:50px;height:50px} .chat-box{right:8px;left:8px;width:auto;bottom:calc(74px + env(safe-area-inset-bottom));height:min(70dvh,560px)} .chat-form textarea{font-size:16px} }
/* Setări › Conversații */
.chat-adm{display:grid;grid-template-columns:300px minmax(0,1fr);gap:0;padding:0!important;height:min(70vh,640px);overflow:hidden}
.chat-conv{overflow:auto;border-right:1px solid var(--line);display:flex;flex-direction:column}
.cv{all:unset;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:11px 14px;border-bottom:1px solid var(--line);cursor:pointer}
.cv:hover{background:color-mix(in srgb,var(--txt) 4%,transparent)} .cv.on{background:color-mix(in srgb,var(--cyan) 10%,transparent);box-shadow:inset 3px 0 0 var(--cyan)}
.cv b{font:700 13px var(--head);overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .cv em{font-style:normal;justify-self:end;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--red);color:#fff;font:800 11px/20px var(--mono);text-align:center}
.cv small{grid-column:1/-1;font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .cv i{grid-column:1/-1;font:500 10px var(--mono);color:var(--dim);font-style:normal}
.cv.new b{color:var(--txt)} .cv.new small{color:var(--txt)}
.chat-fir{display:flex;flex-direction:column;min-width:0;min-height:0}
.chat-fir-h{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);min-height:48px} .chat-fir-h b{font:700 14px var(--head)} .chat-fir-h .btn{margin-left:auto}
@media (max-width:760px){ .chat-adm{grid-template-columns:1fr;height:auto} .chat-conv{max-height:220px;border-right:0;border-bottom:1px solid var(--line)} .chat-fir .chat-list{min-height:300px} }
.cons-tab .mark.chat-mk{min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--red);color:#fff;font:800 10px/18px var(--mono);text-align:center}
#btn-settings.has-chat{position:relative} #btn-settings.has-chat::after{content:'';position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--bg)}

/* 24.10: contract raportat de vast cu prețurile umflate (×~1.37) — socotit la prețul listat */
.cell.umflat small{color:var(--amber)} .umf{font-style:normal;color:var(--amber);font-size:11px}

/* 24.10: jurnalele pe telefon — rânduri-card stivuite, fără tabel lat (nu mai ies din ecran) */
@media (max-width:640px){
  .aud-tbl,.aud-tbl tbody,.ap-tbl,.ap-tbl tbody{display:block;width:100%}
  .ap-tbl thead{display:none}
  .aud-tbl tr,.ap-tbl tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:9px 12px;border-bottom:1px solid var(--line)}
  .aud-tbl td,.ap-tbl td{display:block;padding:0;border:0;min-width:0;white-space:normal}
  .aud-tbl td.aud-t{grid-column:1/-1;order:-1;font-size:11px}
  .aud-tbl td.aud-a{grid-column:1/-1}
  .aud-tbl td.aud-d{grid-column:1/-1;font-size:11.5px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-all}
  .ap-tbl td:first-child{grid-column:1/-1;font-size:11px}
  .ap-tbl td:last-child{grid-column:1/-1;font-size:11.5px;color:var(--muted)}
}

/* ══ 24.10: căutarea de mașini ══ */
.ca{display:flex;flex-direction:column;gap:12px}
.ca-top{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--bg) 50%,transparent)}
.ca-mod{display:flex;flex-wrap:wrap;gap:6px;max-height:120px;overflow:auto}
.ca-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;border:1px solid var(--line2);font:600 11.5px var(--mono);color:var(--muted);cursor:pointer;user-select:none}
.ca-chip em{font-style:normal;font-size:10px;color:var(--dim)} .ca-chip.mine{border-color:color-mix(in srgb,var(--amber) 45%,var(--line2))}
.ca-chip.on{color:var(--bg);background:var(--cyan);border-color:var(--cyan)} .ca-chip.on em{color:color-mix(in srgb,var(--bg) 70%,transparent)}
.ca-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.ca-f{display:flex;flex-direction:column;gap:4px;font:600 11px var(--head);color:var(--muted)}
.ca-f input,.ca-int input{padding:7px 10px;border-radius:9px;border:1px solid var(--line2);background:var(--bg);color:var(--txt);font:600 12.5px var(--mono);outline:none;width:150px}
.ca-f input:focus,.ca-int input:focus{border-color:var(--cyan)}
.ca-chk{display:flex;align-items:center;gap:6px;font:600 12px var(--head);color:var(--txt);padding-bottom:6px}
.ca-lbl{font:600 11.5px var(--head);color:var(--muted)}
.ca-cg{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}
.ca-grp{border:1px solid var(--line);border-radius:13px;padding:8px 13px 10px;margin:0;min-inline-size:0;background:color-mix(in srgb,var(--bg) 40%,transparent)}
.ca-grp legend{font:700 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);padding:0 7px}
.ca-crit{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0;font:600 12.5px var(--head);color:var(--txt)}
.ca-crit+.ca-crit{border-top:1px solid color-mix(in srgb,var(--line) 50%,transparent)}
.ca-crit>span{min-width:0} .ca-crit i{font-style:normal;font-size:10px;color:var(--dim);font-family:var(--mono)}
.ca-crit em{display:flex;align-items:center;gap:5px;font-style:normal;color:var(--dim);flex:none}
.ca-crit input{width:64px;padding:6px 7px;border-radius:8px;border:1px solid var(--line2);background:var(--bg);color:var(--txt);font:600 12.5px var(--mono);outline:none;text-align:center}
.ca-crit input.one{width:150px;text-align:left}
.ca-crit input:focus{border-color:var(--cyan);box-shadow:0 0 10px -4px var(--cyan)}
.ca-crit input::placeholder,.ca-f input::placeholder{color:var(--dim);font-weight:500;font-size:11px}
.ca-top .ca-row{border-top:1px solid var(--line);padding-top:10px;align-items:center}
.ca-top .ca-row .ca-f{flex-direction:row;align-items:center;gap:8px}
.ca-act{display:flex;align-items:center;gap:10px;flex-wrap:wrap} .ca-act .muted{font-size:12px}
.ca-pm{display:flex;flex-direction:column;gap:8px;background:color-mix(in srgb,var(--cyan) 5%,transparent);border:1px solid color-mix(in srgb,var(--cyan) 20%,transparent);border-radius:11px;padding:10px 12px} .ca-pm[hidden]{display:none}
.ca-pmh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font:700 12px var(--head);color:var(--txt)}
.ca-pmh em{font:500 10.5px var(--mono);font-style:normal;color:var(--dim)} .ca-pmh a{margin-left:auto;cursor:pointer;font:600 11.5px var(--head);color:var(--cyan)}
.ca-pmg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px 10px}
.ca-pmc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--bg) 50%,transparent);font:600 11.5px var(--mono);color:var(--muted)}
.ca-pmc>b{color:var(--txt);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca-pmp{color:var(--cyan);font-weight:700;font-size:12.5px;text-align:right} .ca-pmp i{font-style:normal;font-size:9.5px;color:var(--dim);margin-left:3px}
.ca-pmo{display:flex;align-items:center;gap:7px} .ca-pmo s{flex:1;height:4px;border-radius:3px;background:var(--line);overflow:hidden;text-decoration:none;min-width:40px}
.ca-pmo u{display:block;height:100%;background:var(--green)}
.ca-pml{text-align:right;font-size:10.5px} .ca-pml b{color:var(--txt)}
.ca-tbl th i{font-style:normal;margin-left:5px;font-size:9px;opacity:.35} .ca-tbl th.on i{opacity:1}
.ca-tbl th:hover{color:var(--txt)} .ca-tbl .hi{background:color-mix(in srgb,var(--cyan) 5%,transparent)} .ca-tbl td.hi b{color:var(--cyan)}
.ca-tbl td b{font-size:13px}
.ca-tw{max-height:min(60vh,620px)}
.ca-tbl th{cursor:pointer;user-select:none;white-space:nowrap} .ca-tbl th.on{color:var(--cyan)}
.ca-tbl td small{display:block;font:500 10.5px var(--mono);color:var(--dim)}
.ca-r{cursor:pointer} .ca-r:hover{background:color-mix(in srgb,var(--cyan) 6%,transparent)}
.ca-r.open{background:color-mix(in srgb,var(--cyan) 8%,transparent);box-shadow:inset 3px 0 0 var(--cyan)}
.ca-det>td{padding:0 0 10px!important;border:0!important;background:none}
.ca-hud{position:relative;margin:2px 4px 4px;padding:14px 16px 16px;border:1px solid color-mix(in srgb,var(--cyan) 30%,var(--line));border-radius:14px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--cyan) 7%,transparent),transparent 40%),repeating-linear-gradient(0deg,transparent 0 3px,color-mix(in srgb,var(--cyan) 2.5%,transparent) 3px 4px),color-mix(in srgb,var(--bg) 70%,transparent);
  box-shadow:0 0 30px -14px var(--cyan),inset 0 1px 0 color-mix(in srgb,var(--cyan) 20%,transparent);white-space:normal;animation:caIn .25s ease-out}
.ca-hud::before,.ca-hud::after{content:"";position:absolute;width:16px;height:16px;border:2px solid var(--cyan);pointer-events:none}
.ca-hud::before{top:-1px;left:-1px;border-right:0;border-bottom:0;border-radius:14px 0 0 0}
.ca-hud::after{bottom:-1px;right:-1px;border-left:0;border-top:0;border-radius:0 0 14px 0}
@keyframes caIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.ca-hh{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;padding-bottom:12px;border-bottom:1px dashed color-mix(in srgb,var(--cyan) 25%,transparent)}
.ca-hid{display:flex;flex-direction:column;gap:3px;min-width:0}
.ca-hid em{font:700 22px var(--head);font-style:normal;letter-spacing:.04em;color:var(--txt);text-shadow:0 0 18px color-mix(in srgb,var(--cyan) 45%,transparent)}
.ca-hid em i{font-style:normal;color:var(--cyan);margin-left:8px;font-size:17px}
.ca-hid>span{font:500 11px var(--mono);color:var(--muted)} .ca-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}
.ca-ring{--o:0;width:78px;height:78px;border-radius:50%;display:grid;place-content:center;text-align:center;
  background:radial-gradient(closest-side,var(--bg) 78%,transparent 80% 100%),conic-gradient(var(--green) calc(var(--o)*1%),var(--line) 0);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--green) 35%,transparent))}
.ca-ring b{font:800 17px var(--mono);color:var(--green);line-height:1} .ca-ring span{font:600 8.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.ca-inc{display:grid;grid-template-columns:repeat(3,auto);gap:2px 18px;align-items:end}
.ca-inc div span{display:block;font:700 9px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.ca-inc div b{font:700 17px var(--mono);color:var(--txt)} .ca-inc div.big b{font-size:24px;color:var(--cyan);text-shadow:0 0 14px color-mix(in srgb,var(--cyan) 55%,transparent)}
.ca-inc small{grid-column:1/-1;font:500 10.5px var(--mono);color:var(--muted);text-align:right} .ca-inc small b{color:var(--txt)}
.ca-src{margin-top:10px;padding:8px 12px;border-radius:10px;font:500 12px/1.5 var(--head);color:var(--muted);border:1px dashed var(--line2)}
.ca-src b{color:var(--txt);font-family:var(--mono)} .ca-src.bd{border:1px solid color-mix(in srgb,var(--green) 35%,transparent);background:color-mix(in srgb,var(--green) 7%,transparent)} .ca-src.bd b{color:var(--green)}
.ca-ring.mk{background:radial-gradient(closest-side,var(--bg) 78%,transparent 80% 100%),conic-gradient(var(--amber) calc(var(--o)*1%),var(--line) 0);filter:none} .ca-ring.mk b{color:var(--amber)}
.ca-tbl td small.ca-bd{color:var(--green)}
.ca-blk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.ca-blk .ca-b{padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--bg) 55%,transparent);min-width:0}
.ca-blk h5{margin:0 0 6px;font:700 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);display:flex;align-items:center;gap:7px}
.ca-blk h5 i{font-style:normal;color:var(--bg);background:var(--cyan);border-radius:4px;padding:0 4px;font-size:9px;letter-spacing:0}
.ca-kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 10px;align-items:baseline;padding:5px 0;border-top:1px solid color-mix(in srgb,var(--line) 50%,transparent)}
.ca-kv:first-of-type{border-top:0}
.ca-kv span{font:600 11.5px var(--head);color:var(--muted)} .ca-kv b{font:600 12px var(--mono);color:var(--txt);text-align:right;overflow-wrap:anywhere} .ca-kv b span.ca-cy{font:800 13px var(--mono);color:var(--cyan)}
.ca-kv b small{display:inline;font-size:10px;color:var(--dim)} .ca-kv.wide{grid-template-columns:1fr} .ca-kv.wide b{text-align:left}
.ca-cy{color:var(--cyan);font-weight:800}
.ca-m{grid-column:1/-1;display:block;height:3px;border-radius:2px;background:var(--line);overflow:hidden;text-decoration:none}
.ca-m u{display:block;height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--cyan) 40%,transparent),var(--cyan));box-shadow:0 0 6px var(--cyan)}
.ca-m.b u{background:linear-gradient(90deg,color-mix(in srgb,var(--mag) 40%,transparent),var(--mag));box-shadow:0 0 6px var(--mag)}
.ca-m.g u{background:linear-gradient(90deg,color-mix(in srgb,var(--green) 40%,transparent),var(--green));box-shadow:0 0 6px var(--green)}
/* căutarea: ramă HUD, legende numerotate, buton care strălucește */
.ca-top{position:relative;background:linear-gradient(160deg,color-mix(in srgb,var(--cyan) 5%,transparent),transparent 35%),color-mix(in srgb,var(--bg) 50%,transparent)!important}
.ca-top::before{content:"";position:absolute;inset:-1px;border-radius:14px;pointer-events:none;
  background:linear-gradient(90deg,var(--cyan),transparent 18%,transparent 82%,var(--mag)) top/100% 1px no-repeat}
.ca-grp{position:relative;transition:border-color .2s,box-shadow .2s} .ca-grp:focus-within{border-color:color-mix(in srgb,var(--cyan) 45%,var(--line));box-shadow:0 0 22px -12px var(--cyan)}
.ca-grp legend{text-shadow:0 0 10px color-mix(in srgb,var(--cyan) 60%,transparent)}
.ca-chip{transition:.15s} .ca-chip:hover{border-color:var(--cyan);color:var(--txt)} .ca-chip.on{box-shadow:0 0 14px -4px var(--cyan)}
#ca-go{background:linear-gradient(90deg,color-mix(in srgb,var(--cyan) 25%,transparent),color-mix(in srgb,var(--mag) 25%,transparent));border-color:var(--cyan);color:var(--txt);box-shadow:0 0 18px -6px var(--cyan);letter-spacing:.06em}
#ca-go:hover{box-shadow:0 0 24px -4px var(--cyan)}
.ca-tbl thead th{font-family:var(--mono);letter-spacing:.1em;border-bottom:1px solid color-mix(in srgb,var(--cyan) 30%,var(--line))}
.ca-r{transition:background .15s,box-shadow .15s} .ca-r:hover{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--cyan) 60%,transparent)}
.ca-tbl td.hi b{text-shadow:0 0 10px color-mix(in srgb,var(--cyan) 40%,transparent)}
@media (max-width:1100px){.ca-blk{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .ca-hud{margin:0;padding:12px} .ca-hh{grid-template-columns:auto minmax(0,1fr);gap:12px}
  .ca-hid{grid-column:1/-1} .ca-ring{width:64px;height:64px} .ca-inc{gap:2px 12px} .ca-inc div.big b{font-size:20px}
  .ca-blk{grid-template-columns:1fr}
  .ca-tbl tr.ca-r{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-areas:"gpu gpu ver" "placi net fiab" "ram loc loc" "zi luna luna"}
  .ca-tbl td.ca-gpu{grid-area:gpu} .ca-tbl td.ca-ver{grid-area:ver;text-align:right} .ca-tbl td.ca-placi{grid-area:placi} .ca-tbl td.ca-net{grid-area:net}
  .ca-tbl td.ca-fiab{grid-area:fiab;text-align:right} .ca-tbl td.ca-ram_gb{grid-area:ram} .ca-tbl td.ca-loc{grid-area:loc;text-align:right}
  .ca-tbl td.ca-venit_zi{grid-area:zi} .ca-tbl td.ca-venit_luna{grid-area:luna;text-align:right}
  .ca-tbl td.ca-venit_zi b,.ca-tbl td.ca-venit_luna b{font-size:15px}
}
.ca-note{font-size:11.5px;margin:0}
.mkt-cauta{margin-left:6px;animation:caPuls 3.2s ease-in-out infinite}
/* 24.10: „Caută mașini” pulsează discret în galben, ca să fie observat */
@keyframes caPuls{0%,100%{box-shadow:0 0 0 0 transparent;border-color:var(--line2)}
  50%{box-shadow:0 0 14px -3px color-mix(in srgb,var(--amber) 55%,transparent);border-color:color-mix(in srgb,var(--amber) 55%,var(--line2));color:color-mix(in srgb,var(--amber) 45%,var(--txt))}}
.mkt-cauta:hover{animation:none;border-color:var(--amber);color:var(--amber)}
@media (prefers-reduced-motion:reduce){.mkt-cauta{animation:none}}
/* 25.10: selectorul „Toate mașinile” din Încasări pulsează și se aprinde la hover la fel ca „Caută mașini” */
.e-msel .sd-btn{animation:caPuls 3.2s ease-in-out infinite}
.e-msel .sd-btn:hover{animation:none;border-color:var(--amber);color:var(--amber)}
@media (prefers-reduced-motion:reduce){.e-msel .sd-btn{animation:none}}
@media (max-width:640px){
  .ca-f input{width:100%} .ca-f{flex:1 1 45%} .ca-cg{grid-template-columns:1fr} .ca-crit input{width:58px} .ca-crit input.one{width:130px}
  .ca-top .ca-row .ca-f{flex-direction:column;align-items:stretch;gap:4px} .ca-tbl .hi{background:none}
  .ca-tbl thead{display:none} .ca-tbl,.ca-tbl tbody{display:block}
  .ca-tbl tr.ca-r{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;padding:9px 10px;border-bottom:1px solid var(--line)}
  .ca-tbl tr.ca-r td{display:block;padding:0;border:0}
  .ca-tbl td.ca-cpu,.ca-tbl td.ca-disc_gb,.ca-tbl td.ca-net_jos{display:none!important}
  .ca-tbl tr.ca-det{display:block} .ca-tbl tr.ca-det td{display:block}
}

/* 25.10 — varianta 2 a căutării: placă 3D stânga + panou component (la click) dreapta (temabilă) */
.ca-b2{display:flex;gap:14px;align-items:stretch;margin:0 0 12px}
.ca-board{position:relative;flex:1 1 70%;min-width:0;height:min(80vh,760px);border:1px solid var(--line);border-radius:var(--r);
  background:radial-gradient(120% 120% at 50% -10%, rgba(var(--orb1),.10), transparent 60%), var(--panel);overflow:hidden;touch-action:none}
.ca-col{flex:1 1 30%;max-width:320px;min-width:0;display:flex;flex-direction:column;gap:12px;min-height:0}
.ca-col .ca-price{margin:0;flex:0 0 auto}
.ca-col .ca-side{flex:1 1 auto;min-height:0}
.ca-board .b3d-cv{display:block;width:100%;height:100%;cursor:grab}
.ca-board .b3d-cv:active{cursor:grabbing}
.ca-bhint{position:absolute;left:12px;bottom:10px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted);pointer-events:none;opacity:.8}
.ca-side{overflow:auto;min-width:0}
.ca-side .ca-grp{height:100%;margin:0}
.ca-side .ca-grp legend{color:var(--cyan)}
.ca-price{margin:0 0 12px}
.b3d-tag{position:absolute;transform:translate(-50%,-140%);padding:3px 9px;border-radius:8px;font-family:var(--mono);font-size:11px;
  color:var(--txt);background:var(--panel2);border:1px solid var(--line2);box-shadow:0 2px 10px rgba(0,0,0,.4);
  pointer-events:none;white-space:nowrap;transition:opacity .12s;z-index:5}
@media (max-width:760px){.ca-b2{flex-direction:column;gap:10px}.ca-board{flex:0 0 auto;width:100%;height:46vh}.ca-col{flex:0 0 auto;width:100%;max-width:none}.ca-side{max-height:none}}

/* 25.10 — Caută 2: search la lista GPU + scrollbar custom + toggle PCIe/DDR (single) */
.ca-gsearch{width:100%;box-sizing:border-box;margin:0 0 8px;padding:7px 10px;background:#0a1510;border:1px solid var(--line);
  border-radius:8px;color:var(--txt);font-size:12.5px;font-family:inherit;outline:none}
.ca-gsearch:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(var(--orb1),.15)}
.ca-gsearch::placeholder{color:var(--muted)}
.ca-side #ca-mod{max-height:150px;overflow-y:auto;margin-bottom:8px;
  scrollbar-width:thin;scrollbar-color:#2aa37f transparent}
.ca-side #ca-mod::-webkit-scrollbar{width:9px}
.ca-side #ca-mod::-webkit-scrollbar-track{background:rgba(var(--grid1),.08);border-radius:8px}
.ca-side #ca-mod::-webkit-scrollbar-thumb{background:linear-gradient(var(--cyan),#1e5a46);border-radius:8px;border:2px solid transparent;background-clip:padding-box}
.ca-side #ca-mod::-webkit-scrollbar-thumb:hover{background:var(--cyan)}
.ca-chips.ca-seg1{display:inline-flex;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.ca-chips.ca-seg1 a{padding:5px 11px;border:0;border-right:1px solid var(--line);border-radius:0;margin:0}
.ca-chips.ca-seg1 a:last-child{border-right:0}
.ca-chips.ca-seg1 a.on{background:var(--cyan);color:#05121b}

/* 25.10 — Caută 2: combobox GPU (search + dropdown, doar modelele alese ca tag-uri) */
.ca-combo{position:relative;margin:0 0 8px}
.ca-gdrop{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;max-height:340px;overflow-y:auto;
  background:var(--panel2);border:1px solid var(--line2);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.5);
  scrollbar-width:thin;scrollbar-color:#2aa37f transparent}
.ca-gdrop::-webkit-scrollbar{width:9px}
.ca-gdrop::-webkit-scrollbar-thumb{background:linear-gradient(var(--cyan),#1e5a46);border-radius:8px;border:2px solid transparent;background-clip:padding-box}
.ca-gdrop a{display:flex;justify-content:space-between;gap:8px;padding:7px 11px;cursor:pointer;font-size:12.5px;color:var(--txt)}
.ca-gdrop a:hover{background:rgba(var(--orb1),.14);color:var(--cyan)}
.ca-gdrop a em{font-family:var(--mono);font-size:11px;color:var(--muted);font-style:normal}
.ca-drop-none{display:block;padding:9px 11px;color:var(--muted);font-size:12px}
.ca-mod-sel{display:flex;flex-wrap:wrap;gap:6px;min-height:0}
.ca-mod-sel:empty{display:none}
.ca-mod-sel .ca-chip{display:inline-flex;align-items:center;gap:6px}
.ca-mod-sel .ca-x{font-style:normal;opacity:.7;cursor:pointer}
.ca-mod-sel .ca-chip:hover .ca-x{opacity:1;color:var(--red)}

/* 26.10 — loader dinamic cât se caută în piață (spinner + text pulsant) */
.ca-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:46px 16px;color:var(--muted)}
.ca-spin{width:34px;height:34px;border-radius:50%;border:3px solid rgba(var(--orb1),.18);border-top-color:var(--cyan);
  box-shadow:0 0 12px -2px rgba(var(--orb1),.5);animation:caSpin .8s linear infinite}
@keyframes caSpin{to{transform:rotate(360deg)}}
.ca-ldt{font-size:13px;letter-spacing:.3px;animation:caLd 1.4s ease-in-out infinite}
@keyframes caLd{0%,100%{opacity:.45}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.ca-spin{animation-duration:2s}.ca-ldt{animation:none;opacity:.8}}

/* 26.10 — chat: FAB pulsează cât are necitite + bara „scrie unui client" în consola admin */
.chat-fab.pulse{animation:chatFabPulse 1.5s ease-in-out infinite}
@keyframes chatFabPulse{0%,100%{box-shadow:0 0 0 0 rgba(var(--orb1),.55)}50%{box-shadow:0 0 0 12px rgba(var(--orb1),0)}}
.chat-conv-top{display:flex;flex-direction:column;gap:6px;padding:8px;border-bottom:1px solid var(--line)}
.chat-conv-top .btn.sm{width:100%}
.chat-conv-top #cv-pick{width:100%}

/* 28.10: comutator segmentat Oprit/Simulare/LIVE (tab Engine) */
.mo-seg{display:inline-flex;gap:2px;padding:3px;margin:6px 0;background:rgba(120,160,210,.10);border:1px solid var(--line2);border-radius:999px}
.mo-opt{border:0;background:transparent;color:var(--muted);font:700 12px/1 var(--mono);letter-spacing:.04em;padding:7px 18px;border-radius:999px;cursor:pointer;transition:background .18s,color .18s;white-space:nowrap}
.mo-opt:hover:not(.on):not(:disabled){color:var(--txt);background:rgba(120,160,210,.10)}
.mo-opt:disabled{opacity:.4;cursor:not-allowed}
.mo-opt.on[data-mode="off"]{background:var(--muted);color:var(--bg)}
.mo-opt.on[data-mode="dry"]{background:var(--amber);color:#1a1205}
.mo-opt.on[data-mode="live"]{background:var(--green);color:#05140b;box-shadow:0 0 12px -2px var(--green)}
