/* OPOS · маркетплейс и админка. Токены и приёмы — из assets/styles.css лендинга. */
:root{
  --bg:#04070A; --bg2:#060C0E; --ink:#DCEFEA; --teal:#19E3C1; --teal-hi:#7DFFE7; --red:#FF2A2A;
  --ink-80:rgba(220,239,234,.8); --ink-60:rgba(220,239,234,.6); --ink-45:rgba(220,239,234,.45); --ink-30:rgba(220,239,234,.3);
  --line:rgba(220,239,234,.14); --hair:rgba(220,239,234,.09); --tline:rgba(25,227,193,.22);
  --teal-12:rgba(25,227,193,.12); --teal-30:rgba(25,227,193,.3); --teal-45:rgba(25,227,193,.45);
  --red-14:rgba(255,42,42,.14); --red-40:rgba(255,42,42,.4);
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace; --disp:'Oswald',Impact,'Arial Narrow',sans-serif;
  --pad:56px;
  /* совместимость с общим кодом */
  --green:var(--teal); --green-ink:var(--bg); --head:var(--ink); --text:var(--ink); --muted:var(--ink-60); --dim:var(--ink-45); --faint:var(--ink-80);
  --surf-a:#070C0F; --surf-b:#060C0E; --surf-flat:#060C0E; --foot:#04070A; --cream:var(--ink);
  --amber:var(--teal); --amber-text:var(--teal-hi); --amber-t18:var(--teal-12); --amber-t35:var(--teal-30); --amber-75:rgba(25,227,193,.75);
  --green-t16:var(--teal-12); --green-t30:var(--teal-30); --green-t45:var(--teal-45); --red-t18:var(--red-14); --red-t35:var(--red-40);
  --row:var(--hair); --bar-line:rgba(220,239,234,.18);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--teal);text-decoration:none}
a:hover{color:var(--teal-hi)}
::selection{background:var(--teal);color:var(--bg)}
img{max-width:100%;display:block}
h1,h2,h3{margin:0;font-family:var(--disp);font-weight:700;text-transform:uppercase;line-height:1.05}
p{margin:0}
.mono{font-family:var(--mono)}
.crt{position:fixed;inset:0;pointer-events:none;z-index:90;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);mix-blend-mode:multiply;opacity:.55}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}

/* ── шапка как на лендинге ── */
.nav{position:fixed;top:16px;left:16px;right:16px;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:11px 11px 11px 22px;border:1px solid var(--tline);background:rgba(4,9,12,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink)}
.brand-mark{width:30px;height:28px;object-fit:contain}
.brand-name{font-family:var(--disp);font-size:23px;font-weight:700;letter-spacing:.06em;line-height:1}
.kind{font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:5px 9px;border:1px solid var(--red-40);color:var(--red);margin-left:4px}
.nav-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;background:var(--teal);color:var(--bg);border:1px solid var(--teal);
  font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}
.btn:hover:not(:disabled){background:var(--teal-hi);border-color:var(--teal-hi);color:#000}
button{font:inherit;font-family:var(--mono);font-size:12.5px;cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--ink-80);padding:9px 14px;letter-spacing:.04em;transition:.14s}
button:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}
button:disabled{opacity:.4;cursor:not-allowed}
button.cta{background:var(--teal);border-color:var(--teal);color:var(--bg);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
button.cta:hover:not(:disabled){background:var(--teal-hi);border-color:var(--teal-hi);color:#000}
button.warn{border-color:var(--teal-30);color:var(--teal)}
button.danger{border-color:var(--red-40);color:var(--red)}
button.danger:hover:not(:disabled){border-color:var(--red);background:var(--red-14);color:var(--red)}
button.ghost{border-color:var(--hair);color:var(--ink-60);padding:6px 10px;font-size:11px}

/* портфель в шапке */
.pf{display:flex;align-items:center;gap:0;border:1px solid var(--line);font-size:11.5px;color:var(--ink-60);flex-wrap:wrap}
.pf span{padding:0 12px;height:42px;display:flex;align-items:center;gap:7px;border-right:1px solid var(--hair);white-space:nowrap}
.pf span:last-child{border-right:0}
.pf b{color:var(--ink);font-weight:700}
.pf b.up{color:var(--teal)}
.pf .addr{color:var(--teal);font-weight:400}
.pf b.flash{animation:fl 1s ease-out}
@keyframes fl{0%{color:var(--teal)}100%{color:var(--ink)}}
.chip{display:none}

/* ── контейнер ── */
.wrap{max-width:1440px;margin:0 auto;padding:0 var(--pad)}
main.wrap{padding-top:120px;padding-bottom:60px;min-height:70vh}
.sec{padding:26px 0 0}
.sec-head{display:flex;align-items:baseline;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.sec-head h2{font-size:22px;letter-spacing:.04em}
.sec-head .note{font-size:11.5px;color:var(--ink-45);margin-left:auto;letter-spacing:.04em}
.empty{border:1px dashed var(--line);padding:40px 20px;text-align:center;color:var(--ink-45);font-size:12.5px;letter-spacing:.04em}
.hint{font-size:11px;color:var(--ink-45)}
.hint b{color:var(--ink)}
.setup{border:1px solid var(--line);padding:16px 18px;margin-bottom:22px}
.setup label{font-size:10px;color:var(--ink-45);text-transform:uppercase;letter-spacing:.12em;display:block;margin-bottom:7px}
.setup .row{display:flex;gap:8px;flex-wrap:wrap}
input[type=text],input[type=number],select{font:inherit;font-family:var(--mono);font-size:12.5px;background:var(--bg);border:1px solid var(--line);color:var(--ink);padding:9px 11px}
input[type=number]{width:82px;text-align:center}
input[type=text]{flex:1;min-width:170px}
input:focus,select:focus,button:focus-visible{outline:1px solid var(--teal);outline-offset:1px}
.badge{font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--line);color:var(--ink-80);white-space:nowrap}
.badge.amber{border-color:var(--teal-45);color:var(--teal)}
.badge.green{border-color:var(--teal);color:var(--teal)}
.badge.red{border-color:var(--red-40);color:var(--red)}

/* ── карточки меток ── */
.mcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.mcard{border:1px solid var(--line);background:#070C0F;display:flex;flex-direction:column}
.mcard.now{border-color:var(--teal-45)}
.mcard.done{border-color:var(--teal)}
.mcard.lost{border-color:var(--red-40)}
.mimg{aspect-ratio:3/4;background:#0a0d10;cursor:pointer;border-bottom:1px solid var(--hair);overflow:hidden}
.mimg svg{width:100%;height:100%;display:block}
.mbody{padding:14px 16px 10px;display:flex;flex-direction:column;gap:9px}
.mbody h3{font-size:19px;letter-spacing:.02em;cursor:pointer;line-height:1.1}
.mbody h3:hover{color:var(--teal)}
.mprice{font-size:18px;font-weight:700;color:var(--ink)}
.mbar{display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--ink-80)}
.mbar i{flex:1;height:6px;background:var(--bg);border:1px solid var(--bar-line);display:block;position:relative}
.mbar i::after{content:'';position:absolute;left:0;top:0;bottom:0;width:var(--w,0%);background:var(--teal)}
.mbar b{font-weight:700;color:var(--ink);min-width:34px;text-align:right}
.stgwrap{display:flex;flex-direction:column;gap:5px}
.stgwrap .cap{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-45)}
.stg{display:flex;align-items:center;gap:10px;font-size:10.5px;letter-spacing:.12em;color:var(--ink-80)}
.stg i{display:flex;gap:3px;flex:1}
.stg i b{flex:1;height:6px;border:1px solid var(--bar-line);display:block}
.stg i b.on{background:var(--teal);border-color:var(--teal)}
.stg.lost i b{border-color:var(--red-40)}
.stg.lost i b.on{background:var(--red);border-color:var(--red)}
.stg span{min-width:74px;text-align:right}
.mact{display:flex;gap:8px;padding:4px 16px 16px}
.mact button{flex:1;padding:11px 10px}
.mpanel{display:flex;gap:8px;align-items:center;padding:10px 16px 16px;border-top:1px dashed var(--hair);flex-wrap:wrap}
.mpanel input[type=number]{width:70px}
.mpanel .tot{font-size:12px;color:var(--ink-60);flex:1}
.mpanel .tot b{color:var(--ink)}

/* ── окно метки ── */
.modal{position:fixed;inset:0;background:rgba(4,7,10,.88);z-index:80;display:flex;align-items:flex-start;justify-content:center;padding:60px 20px 40px;overflow-y:auto}
.mbox{position:relative;display:grid;grid-template-columns:300px 1fr;gap:28px;max-width:900px;width:100%;border:1px solid var(--tline);background:#060C0E;padding:26px}
.mbox .art svg{width:100%;height:auto;display:block;border:1px solid var(--line)}
.mbox .close{position:absolute;top:10px;right:10px;padding:4px 10px;font-size:14px;border-color:transparent}
.mbox h2{font-size:24px;letter-spacing:.02em;margin:0 0 8px;padding-right:36px}
.facts{display:flex;gap:22px;flex-wrap:wrap;font-size:11.5px;margin:12px 0 16px}
.facts div span{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45)}
.facts div b{font-weight:700;color:var(--ink)}
.docs{border-top:1px solid var(--hair);padding-top:12px}
.docs h4{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-45);margin:0 0 8px;font-weight:400}
.doc{display:grid;grid-template-columns:96px 1fr auto;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--hair);font-size:11.5px}
.doc:last-child{border-bottom:0}
.doc .st{color:var(--ink-80)}
.doc .h{color:var(--ink-60);word-break:break-all}
.doc a{white-space:nowrap}
.doc .nofile{color:var(--ink-45);white-space:nowrap}
.mbox .mact{padding:14px 0 0}
.mbox .mpanel{padding:10px 0 0}

/* ── админка ── */
.guard{border:1px solid var(--red-40);padding:22px;font-size:13px;color:var(--red);margin-bottom:22px}
.guard b{display:block;color:var(--ink);font-size:14px;margin-bottom:6px}
.ops{border:1px solid var(--line);border-left:2px solid var(--teal);padding:18px 20px}
.ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:12px}
.ops-grid label{font-size:10px;color:var(--ink-45);text-transform:uppercase;letter-spacing:.12em;display:flex;flex-direction:column;gap:5px}
.ops-grid input{width:100%;text-align:left}
.ladder{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);font-size:11.5px;margin-bottom:8px}
.ladder div{padding:9px 11px;border-right:1px solid var(--hair)}
.ladder div:last-child{border-right:0}
.ladder .st{color:var(--ink-45);font-size:9.5px;letter-spacing:.12em;display:block}
.ladder .pr{display:block;color:var(--ink);font-size:14px;line-height:1.25;margin-top:2px}
.ladder .pc{display:block;color:var(--ink-45);font-size:10px;line-height:1.3}
.ladder div.fin .pr{color:var(--teal)}
.arow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:11px;border-top:1px dashed var(--hair)}
.arow>.lbl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45);min-width:86px}
.acase{border:1px solid var(--line);background:#070C0F;margin-bottom:12px}
.acase.done{border-color:var(--teal)}
.acase.lost{border-color:var(--red-40)}
.acase-head{display:flex;align-items:center;gap:12px;padding:12px 15px;flex-wrap:wrap;border-bottom:1px solid var(--hair);font-size:12px}
.acase-head .id{color:var(--ink);font-weight:700}
.acase-head .meta{color:var(--ink-60)}
.acase-head .pipe{margin-left:auto;color:var(--ink)}
.acase-head .hide{margin-left:8px}
.acase-body{padding:13px 15px;display:flex;flex-direction:column;gap:10px}
.filepick{display:flex;flex-direction:column;gap:5px}
.filepick input[type=file]{font:inherit;font-family:var(--mono);font-size:12px;color:var(--ink)}
.filepick .fh{font-size:10.5px;color:var(--ink-45);word-break:break-all}
.filepick .fh b{color:var(--teal)}
.log{border:1px solid var(--line);max-height:340px;overflow-y:auto}
.log .ent{display:flex;gap:14px;align-items:baseline;padding:11px 16px;border-bottom:1px solid var(--hair);font-size:12.5px;flex-wrap:wrap}
.log .ent:last-child{border-bottom:0}
.log .t{font-size:11px;color:var(--ink-45);min-width:60px}
.log .txt{flex:1;min-width:200px}
.log .txt b{color:var(--teal);font-weight:700}
.log .ent.err .txt{color:var(--red)}
.log .lnk{font-size:11px;white-space:nowrap}

/* ── подвал, тост ── */
footer.foot{padding:40px var(--pad) 44px;max-width:1440px;margin:0 auto;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink-30)}
footer.foot a{color:var(--ink-45)}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(160%);background:#060C0E;border:1px solid var(--line);border-left:2px solid var(--teal);padding:12px 18px;max-width:min(92vw,520px);font-size:13px;transition:transform .22s;z-index:95}
#toast.on{transform:translateX(-50%) translateY(0)}
#toast.err{border-left-color:var(--red)}

@media(max-width:1024px){:root{--pad:32px}}
@media(max-width:720px){
  :root{--pad:20px}
  .nav{top:10px;left:10px;right:10px;padding:8px 8px 8px 14px;gap:10px}
  .brand-name{font-size:19px}
  .btn{height:38px;padding:0 12px;font-size:11px;letter-spacing:.06em}
  .pf{width:100%;font-size:11px}
  .pf span{height:36px;padding:0 10px}
  main.wrap{padding-top:150px}
  .mcards{grid-template-columns:1fr}
  .ladder{grid-template-columns:repeat(3,1fr)}
  .ladder div{border-bottom:1px solid var(--hair)}
  .arow>.lbl{min-width:100%}
  .arow>button{flex:1}
  input[type=text]{min-width:100%}
  .hint{width:100%}
  .mbox{grid-template-columns:1fr}
  .modal{padding:14px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.mcards .empty{grid-column:1/-1}
.ops-grid label{min-width:0}
.filepick{min-width:0}
.filepick input[type=file]{width:100%;max-width:100%}

/* ── карточка «Чёрная метка» по макету Dark Mark Card ── */
.dms{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,520px));gap:18px;justify-content:center}
.dm{padding:9px;background:#080D0F;border:1px solid rgba(220,239,234,.1)}
.dm-in{border:1px solid rgba(25,227,193,.32);background:#05090B;display:flex;flex-direction:column}
.dm.lost .dm-in{border-color:var(--red-40)}
.dm-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid rgba(25,227,193,.32);
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(220,239,234,.55)}
.dm-top .b{color:var(--ink);letter-spacing:.06em;font-weight:700;white-space:nowrap}
.dm-top .b i{color:var(--teal);font-style:normal}
.dm-top .s{white-space:nowrap}
.dm-top .s b{color:var(--teal);font-weight:400}
.dm.lost .dm-top .s b{color:var(--red)}
.dm-bars{display:flex;gap:2px}
.dm-bars span{width:7px;height:11px;background:rgba(220,239,234,.2);display:block}
.dm-bars span.on{background:var(--teal)}
.dm.lost .dm-bars span{background:var(--red)}
.dm-no{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:8px 12px 10px;border-bottom:1px solid rgba(25,227,193,.32)}
.dm-no span{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(220,239,234,.45);margin-bottom:2px}
.dm-no b{font-family:var(--disp);font-size:44px;line-height:.84;font-weight:700;letter-spacing:.03em;font-variant-numeric:tabular-nums;color:var(--ink);cursor:pointer}
.dm-no b:hover{color:var(--teal)}
.dm-mid{display:grid;grid-template-columns:250px minmax(0,1fr);border-bottom:1px solid rgba(25,227,193,.32)}
.dm-art{position:relative;height:250px;overflow:hidden;background:var(--teal);border-right:1px solid rgba(25,227,193,.32);cursor:pointer}
.dm.lost .dm-art{background:var(--red)}
.dm-art .dots{position:absolute;inset:0;background:radial-gradient(circle at 1px 1px,rgba(0,0,0,.22) 1px,transparent 1.5px) 0 0/5px 5px}
.dm-art img{position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);width:78%;height:auto}
.dm-art span{position:absolute;left:10px;bottom:9px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(0,0,0,.55)}
.dm-info{padding:12px;display:flex;flex-direction:column;gap:13px;min-width:0}
.dm-info > div{display:flex;flex-direction:column;gap:3px}
.dm-info span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(220,239,234,.4)}
.dm-info b{font-size:14px;line-height:1.35;font-weight:400;color:var(--ink);overflow-wrap:anywhere}
.dm-info .amt b{color:rgba(220,239,234,.72);font-variant-numeric:tabular-nums}
.dm-info .pr{margin-top:auto;gap:5px}
.dm-info .pr b{font-family:var(--disp);font-size:34px;line-height:1;font-weight:700;color:var(--teal);font-variant-numeric:tabular-nums}
.dm-info .pr b i{font-style:normal;font-size:.44em;color:rgba(220,239,234,.6)}
.dm-subj{padding:12px;border-bottom:1px solid rgba(25,227,193,.32);min-height:96px}
.dm-subj span{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(220,239,234,.4);margin-bottom:6px}
.dm-subj p{font-size:14px;line-height:1.55;letter-spacing:.02em;color:rgba(220,239,234,.8);text-wrap:pretty}
.dm-foot{padding:12px;display:flex;flex-direction:column;gap:11px}
.dm-funded{display:flex;flex-direction:column;gap:6px}
.dm-funded div{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.dm-funded div span{color:rgba(220,239,234,.45)}
.dm-funded div b{color:var(--teal);font-weight:400;font-variant-numeric:tabular-nums}
.dm-funded i{display:block;height:6px;background:rgba(220,239,234,.14);position:relative}
.dm-funded i::after{content:'';position:absolute;left:0;top:0;bottom:0;width:var(--w,0%);background:var(--teal)}
.dm-btns{display:grid;grid-template-columns:1.3fr 1fr;gap:8px}
.dm-btns button{height:46px;padding:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.dm-btns button.cta{font-weight:700;color:#000}
.dm-btns button.o{border:1px solid rgba(220,239,234,.25);color:var(--ink);font-weight:400}
.dm-btns button.o:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}
.dm-btns .badge{height:46px;display:flex;align-items:center;justify-content:center;grid-column:1/-1}
.dm .mpanel{padding:0;border-top:0}
.dms .empty{grid-column:1/-1}
@media(max-width:560px){
  .dms{grid-template-columns:1fr}
  .dm-mid{grid-template-columns:1fr}
  .dm-art{height:220px;border-right:0;border-bottom:1px solid rgba(25,227,193,.32)}
  .dm-top{flex-wrap:wrap}
}

.dm-art.pir{background:#0A1113;padding:0}
.dm-art.pir img{position:static;transform:none;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;display:block}
.pf .ghost{height:26px;padding:0 9px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}

.dm-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid rgba(25,227,193,.32)}
.dm-metrics div{padding:10px 12px;border-right:1px solid rgba(25,227,193,.32);display:flex;flex-direction:column;gap:4px;min-width:0}
.dm-metrics div:last-child{border-right:0}
.dm-metrics span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(220,239,234,.4)}
.dm-metrics b{font-family:var(--disp);font-size:22px;line-height:1;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.dm-metrics b.up{color:var(--teal)}
@media(max-width:560px){.dm-metrics b{font-size:18px}}

/* ── компактнее: карточка целиком помещается на экран ── */
.dms{grid-template-columns:repeat(auto-fill,minmax(330px,410px));gap:14px}
.dm{padding:7px}
.dm-top{padding:7px 10px;font-size:10.5px;gap:8px}
.dm-bars span{width:6px;height:10px}
.dm-no{padding:6px 10px 8px}
.dm-no span{font-size:10px}
.dm-no b{font-size:34px}
.dm-mid{grid-template-columns:186px minmax(0,1fr)}
.dm-art{height:186px}
.dm-info{padding:10px;gap:9px}
.dm-info span{font-size:9.5px}
.dm-info b{font-size:12.5px;line-height:1.3}
.dm-info .pr b{font-size:26px}
.dm-metrics div{padding:8px 10px;gap:3px}
.dm-metrics span{font-size:9px}
.dm-metrics b{font-size:17px}
.dm-subj{padding:10px;min-height:0}
.dm-subj span{font-size:9.5px;margin-bottom:4px}
.dm-subj p{font-size:12.5px;line-height:1.45}
.dm-foot{padding:10px;gap:9px}
.dm-funded div{font-size:9.5px}
.dm-funded i{height:5px}
.dm-btns button{height:38px;font-size:11px}
.dm .mpanel{padding-top:8px}
@media(max-width:560px){.dm-art{height:200px}}
.opzone{margin-top:13px;padding-top:12px;border-top:1px dashed var(--hair)}
.opcap{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--teal);margin-bottom:10px}
.opzone .arow{border-top:0;padding-top:0;margin-bottom:9px}
.opzone .arow:last-child{margin-bottom:0}

/* ── плотная карточка: номер в верхней строке, четыре метрики в ряд ── */
.dm-top{padding:6px 10px;gap:10px}
.dm-top .no{font-family:var(--disp);font-size:20px;font-weight:700;letter-spacing:.03em;color:var(--ink);cursor:pointer;line-height:1;text-transform:none}
.dm-top .no:hover{color:var(--teal)}
.dm-top .s{margin-left:auto}
.dm-mid{grid-template-columns:150px minmax(0,1fr)}
.dm-art{height:150px}
.dm-info{padding:9px 10px;gap:8px}
.clamp3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dm-metrics.four{grid-template-columns:repeat(4,1fr)}
.dm-metrics.four div{padding:7px 8px}
.dm-metrics.four span{font-size:8.5px;letter-spacing:.12em;white-space:nowrap}
.dm-metrics.four b{font-size:15px}
.dm-metrics b::after{content:' USDT';font-size:.6em;color:rgba(220,239,234,.5);font-family:var(--mono);font-weight:400}
.dm-metrics div:nth-child(3) b::after{content:''}
.dm-subj{padding:8px 10px}
.dm-subj span{margin-bottom:3px}
.dm-foot{padding:9px 10px 10px;gap:8px}
.dm-btns button{height:36px}
@media(max-width:560px){.dm-top .s{margin-left:0}.dm-metrics.four{grid-template-columns:repeat(2,1fr)}.dm-metrics.four div:nth-child(-n+2){border-bottom:1px solid rgba(25,227,193,.32)}}

/* ── фиксированная сетка карточки: одинаковые блоки у всех меток ── */
.dms{grid-template-columns:repeat(auto-fill,400px);justify-content:center;gap:16px}
.dm{width:400px}
.dm-top{height:36px;padding:0 10px;box-sizing:border-box;flex-wrap:nowrap;overflow:hidden}
.dm-top .b{font-size:10px}
.dm-top .no{font-size:19px}
.dm-top .s{font-size:9.5px;letter-spacing:.14em}
.dm-mid{grid-template-columns:150px minmax(0,1fr);height:152px}
.dm-art{height:150px}
.dm-info{height:150px;overflow:hidden;padding:9px 10px;gap:7px;box-sizing:border-box}
.dm-info b{font-size:12px;line-height:1.3}
.dm-metrics.four{grid-template-columns:repeat(4,minmax(0,1fr));height:50px}
.dm-metrics.four div{padding:6px 8px;overflow:hidden;justify-content:center}
.dm-metrics.four span{font-size:8.5px;letter-spacing:.1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-metrics.four b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:clip}
.dm-metrics b::after{font-size:.55em}
.dm-subj{height:64px;padding:7px 10px;box-sizing:border-box;overflow:hidden}
.dm-subj p{font-size:12px;line-height:1.4}
.dm-foot{height:92px;padding:9px 10px 10px;box-sizing:border-box;gap:8px}
@media(max-width:560px){
  .dms{grid-template-columns:1fr}
  .dm{width:auto}
  .dm-mid{grid-template-columns:150px minmax(0,1fr);height:152px}
  .dm-art{height:150px;border-right:1px solid rgba(25,227,193,.32);border-bottom:0}
  .dm-metrics.four{grid-template-columns:repeat(4,minmax(0,1fr))}
  .dm-metrics.four div:nth-child(-n+2){border-bottom:0}
}

/* подписи метрик в две строки, высота строки фиксированная */
.dm-metrics.four{height:60px}
.dm-metrics.four div{justify-content:flex-start;padding-top:7px}
.dm-metrics.four span{white-space:normal;line-height:1.15;height:20px;overflow:hidden;text-overflow:clip}

/* статус — отдельной строкой под шапкой карточки */
.dm-top{height:34px;justify-content:flex-start;gap:12px}
.dm-top .no{margin-left:auto}
.dm-status{height:28px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px;
  border-bottom:1px solid rgba(25,227,193,.32);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(220,239,234,.55);white-space:nowrap;overflow:hidden}
.dm-status .s b{color:var(--teal);font-weight:400}
.dm.lost .dm-status .s b{color:var(--red)}

/* панель покупки: на месте кнопок, той же высоты, без системного счётчика */
.mpanel{height:36px;display:flex;align-items:stretch;gap:6px;padding:0;border:0;flex-wrap:nowrap}
.dm .mpanel,.mbox .mpanel{padding:0}
.mpanel .stp{width:34px;padding:0;font-size:15px;line-height:1;border:1px solid rgba(220,239,234,.25);color:var(--ink);flex:none}
.mpanel .stp.x{color:var(--ink-60)}
.mpanel input[type=number]{width:46px;text-align:center;padding:0;font-size:13px;-moz-appearance:textfield;appearance:textfield;flex:none;border-color:rgba(220,239,234,.25)}
.mpanel input[type=number]::-webkit-outer-spin-button,.mpanel input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.mpanel .tot{flex:1;min-width:0;display:flex;align-items:center;font-size:10.5px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mpanel .go{flex:none;height:auto;padding:0 14px;font-size:11px;letter-spacing:.12em}
.dm-foot{height:92px}

/* ── переключатель страниц в шапке ── */
.pages{display:flex;gap:4px;margin-left:8px}
.pages a{display:inline-flex;align-items:center;height:42px;padding:0 14px;border:1px solid transparent;color:var(--ink-60);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.pages a:hover{color:var(--teal)}
.pages a.on{border-color:var(--tline);color:var(--ink);background:rgba(25,227,193,.06)}
/* ── блок «у вас» на моих метках ── */
.dm-hold{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:50px;border-bottom:1px solid rgba(25,227,193,.32)}
.dm-hold div{padding:6px 8px;border-right:1px solid rgba(25,227,193,.32);display:flex;flex-direction:column;gap:3px;overflow:hidden}
.dm-hold div:last-child{border-right:0}
.dm-hold span{font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(220,239,234,.4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-hold b{font-family:var(--disp);font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.dm-hold b.up{color:var(--teal)}
@media(max-width:720px){.pages{display:none}}

/* ── переключатель языка и подгрузка меток пачками ── */
.lang{display:inline-flex;align-items:center;justify-content:center;height:42px;min-width:42px;padding:0 10px;border:1px solid var(--line);color:var(--ink-60);font-size:12px;font-weight:700;letter-spacing:.12em}
.lang:hover{border-color:var(--teal);color:var(--teal)}
.more{display:flex;justify-content:center;margin:22px 0 4px}
.more[hidden]{display:none}
.more button{min-width:240px;height:46px;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:720px){.lang{height:38px;min-width:38px;padding:0 8px;font-size:11px}}
