:root {
  --bg: #0f1216; --panel: #181c22; --panel2: #1f242c; --line: #2c333d; --text: #e6e9ee; --muted: #8a94a3;
  --accent: #ffcb05; --blue: #3b82f6; --green: #22c55e; --red: #ef4444; --orange: #f59e0b; --purple: #a855f7;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--bg); color: var(--text); font: 14px/1.45 system-ui, "Segoe UI", Roboto, sans-serif; }
a { color: #8ab4ff; text-decoration: none; }
a:hover { text-decoration: underline; }
h1 { font-size: 1.4rem; margin: .4rem 0 1rem; }
h2 { font-size: 1.05rem; margin: 1.1rem 0 .5rem; color: var(--accent); }
main { padding: 1rem 1.2rem 3rem; }
code, pre { background: #0b0d10; border: 1px solid var(--line); border-radius: 4px; padding: 0 .3em; }
pre { padding: .8rem; overflow: auto; max-height: 500px; font-size: 12px; }

.top { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; padding: .6rem 1.2rem;
  background: var(--panel); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 10; }
.brand { font-weight: 700; color: var(--accent); font-size: 1.05rem; }
.top nav { display: flex; flex-wrap: wrap; gap: .2rem .9rem; }
.top nav a { color: var(--text); }
.actions { margin-left: auto; display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }

.btn { background: var(--panel2); color: var(--text); border: 1px solid var(--line); border-radius: 6px;
  padding: .35rem .7rem; cursor: pointer; font: inherit; display: inline-block; }
.btn:hover { border-color: #56606e; text-decoration: none; }
.btn.primary { background: var(--accent); color: #111; border-color: var(--accent); font-weight: 600; }
.btn.danger { border-color: var(--red); color: #fca5a5; }
.btn.small { padding: .15rem .45rem; font-size: 12px; }
.btn:disabled { opacity: .5; cursor: wait; }
form.inline { display: inline; }

.pill { font-size: 12px; padding: .15rem .5rem; border-radius: 99px; border: 1px solid var(--line); }
.pill.ok { color: var(--green); border-color: #1d5f36; }
.pill.bad { color: var(--red); border-color: #6b2323; }

.flash { background: #1c2b1f; border: 1px solid #2f6b3c; padding: .5rem .8rem; border-radius: 6px; margin-bottom: .8rem; }
.flash.error { background: #2d1a1a; border-color: #7a2d2d; }
#toast { position: fixed; bottom: 1.2rem; right: 1.2rem; background: #1c2b1f; border: 1px solid #2f6b3c;
  padding: .7rem 1rem; border-radius: 8px; max-width: 480px; z-index: 50; box-shadow: 0 6px 24px #0008; }
#toast.bad { background: #2d1a1a; border-color: #7a2d2d; }

.summary { display: flex; gap: 1.4rem; margin-bottom: .8rem; flex-wrap: wrap; }
.filters { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; background: var(--panel);
  padding: .6rem; border: 1px solid var(--line); border-radius: 8px; margin-bottom: .6rem; }
.filters .grow { flex: 1 1 260px; }
input, select, textarea { background: #0d1014; color: var(--text); border: 1px solid var(--line); border-radius: 6px;
  padding: .32rem .5rem; font: inherit; }
input[type=checkbox] { accent-color: var(--accent); }
.range input { width: 80px; }
details.multi { position: relative; }
details.multi summary { cursor: pointer; list-style: none; background: #0d1014; border: 1px solid var(--line);
  border-radius: 6px; padding: .32rem .6rem; }
details.multi[open] summary { border-color: var(--accent); }
details.multi .opts { position: absolute; z-index: 20; background: var(--panel2); border: 1px solid var(--line);
  border-radius: 6px; padding: .5rem; min-width: 230px; max-height: 320px; overflow: auto; }
details.multi .opts label { display: block; white-space: nowrap; padding: .1rem 0; }
.bulk { margin: .4rem 0 .6rem; display: flex; gap: .4rem; align-items: center; }

.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 8px; }
table { border-collapse: collapse; width: 100%; }
table.products th, table.products td, table.list th, table.list td { padding: .38rem .5rem; border-bottom: 1px solid var(--line);
  text-align: left; vertical-align: top; }
table.products th, table.list th { background: var(--panel); position: sticky; top: 0; font-weight: 600; white-space: nowrap; }
table.products th a { color: var(--text); }
table.products th a.sorted.asc::after { content: " ▲"; color: var(--accent); }
table.products th a.sorted.desc::after { content: " ▼"; color: var(--accent); }
table.products tr:hover td { background: #161b22; }
tr.ignored td { opacity: .45; }
tr.paused td { opacity: .7; font-style: italic; }
tr.new td { background: #221d0c; }
td.name { min-width: 240px; max-width: 420px; }
td.num { text-align: right; white-space: nowrap; }
td.badges { min-width: 190px; }
.ext { margin-left: .3rem; font-size: 12px; }
.star { background: none; border: none; color: #444b55; font-size: 18px; cursor: pointer; padding: 0; }
.star.on { color: var(--accent); }

.tag { display: inline-block; font-size: 11.5px; padding: .05rem .4rem; border-radius: 4px; margin: 0 .2rem .15rem 0;
  background: #262c35; border: 1px solid #333b46; white-space: nowrap; }
.tag.warn { background: #3a2b0d; border-color: #7a5a14; color: #fcd34d; }
.tag.err { background: #3b1515; border-color: #7a2525; color: #fca5a5; }
.st-buyable { background: #0f3a22; border-color: var(--green); color: #86efac; font-weight: 600; }
.st-preorder { background: #0f2747; border-color: var(--blue); color: #93c5fd; font-weight: 600; }
.st-preorder_uncertain { background: #3a2b0d; border-color: var(--orange); color: #fcd34d; }
.st-watch_only { background: #2b1840; border-color: var(--purple); color: #d8b4fe; }
.st-sold_out { background: #3b1515; border-color: var(--red); color: #fca5a5; }
.st-not_released, .st-unknown { color: #cbd5e1; }
.st-physical_only { background: #3a240d; border-color: #b45309; color: #fdba74; }
.se-confirmed { color: #86efac; }
.se-no { color: #fca5a5; }
.se-unknown, .se-not_confirmed { color: #fcd34d; }
.safety-high { color: #86efac; border-color: #1d5f36; }
.safety-medium { color: #fcd34d; border-color: #7a5a14; }
.safety-low { color: #fca5a5; border-color: #7a2525; }
.rel-high { color: #86efac; } .rel-medium { color: #fcd34d; } .rel-low { color: #fca5a5; } .rel-unknown { color: #cbd5e1; }
.n-sent { color: #86efac; } .n-failed { color: #fca5a5; } .n-queued { color: #93c5fd; } .n-skipped { color: var(--muted); }
.st-buyable-text { color: #86efac; } .st-preorder-text { color: #93c5fd; }

.muted { color: var(--muted); }
.small { font-size: 12px; }
.break { word-break: break-all; }
.err-text { color: #fca5a5; }

.grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); gap: 1rem; align-items: start; }
.card { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; padding: .4rem 1rem 1rem; margin-bottom: 1rem; }
details.card summary { cursor: pointer; padding: .5rem 0; }
.form label { display: block; margin: .45rem 0; }
.form label > input:not([type=checkbox]), .form label > select, .form label > textarea { display: block; width: 100%; margin-top: .2rem; }
.form fieldset { border: 1px solid var(--line); border-radius: 6px; margin: .8rem 0; }
.checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .1rem .8rem; }
.checks label { margin: .15rem 0; }
table.kv th { text-align: left; color: var(--muted); font-weight: 500; padding: .25rem .8rem .25rem 0; vertical-align: top; white-space: nowrap; }
table.kv td { padding: .25rem 0; }
.confirm-form { margin-top: .8rem; }
/* ---- Meny */
.main-nav { display: flex; align-items: center; gap: .3rem; }
.main-nav > a, .more > summary { padding: .35rem .7rem; border-radius: 6px; color: var(--text); cursor: pointer; list-style: none; }
.main-nav > a:hover, .more > summary:hover { background: var(--panel2); text-decoration: none; }
.main-nav > a.on { background: var(--panel2); box-shadow: inset 0 -2px 0 var(--accent); }
.more { position: relative; }
.more .menu { position: absolute; right: 0; top: 2.2rem; background: var(--panel2); border: 1px solid var(--line);
  border-radius: 8px; padding: .35rem; min-width: 220px; z-index: 30; box-shadow: 0 8px 28px #0009; }
.more .menu a { display: block; padding: .45rem .6rem; border-radius: 5px; color: var(--text); }
.more .menu a:hover { background: #2a313b; text-decoration: none; }
.dot { font-size: 12px; color: var(--muted); }
.pitemp { font-size: 12.5px; font-weight: 600; padding: .15rem .55rem; border-radius: 99px; border: 1px solid var(--line); cursor: help; }
.pitemp.t-ok { color: #86efac; border-color: #1d5f36; }
.pitemp.t-warm { color: #fcd34d; border-color: #7a5a14; }
.pitemp.t-hot, .pitemp.throttled { color: #fca5a5; border-color: #7a2525; background: #3b1515; }
.dot.ok { color: var(--green); } .dot.bad { color: var(--red); }

/* ---- Botten: statuskort */
.statcards { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: .9rem; align-items: stretch; }
.stat { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: .5rem .9rem; min-width: 110px;
  display: flex; flex-direction: column; color: var(--text); }
.stat span { font-size: 12px; color: var(--muted); } .stat b { font-size: 1.25rem; }
a.stat:hover { border-color: #56606e; text-decoration: none; }
.stat.ok b, .stat.good b { color: #86efac; } .stat.bad b { color: #fca5a5; } .stat.blue b { color: #93c5fd; }
.stat-actions { margin-left: auto; display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; }

/* ---- Botten: snabbinställningar */
details.quick > summary { cursor: pointer; padding: .7rem 0; font-size: 1.05rem; }
.qgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: .8rem; margin: .4rem 0 .9rem; }
.qgrid fieldset { border: 1px solid var(--line); border-radius: 10px; padding: .5rem .8rem .8rem; margin: 0; background: #151a20; }
.qgrid fieldset.wide { grid-column: 1 / -1; }
.qgrid legend { font-weight: 600; color: var(--accent); padding: 0 .3rem; }
.qgrid legend.sub { margin-top: .6rem; padding: 0; }
.qgrid select, .qgrid input[type=text], .qgrid input:not([type]), .qgrid input[type=number] { width: 100%; }
.qgrid label { display: block; margin: .3rem 0; }
.inline-time { display: inline-flex; gap: .3rem; align-items: center; }
.inline-time input { width: 110px; }
.typegrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .15rem 1rem; margin-top: .4rem; }
.trow { display: grid; grid-template-columns: 1fr 110px auto; align-items: center; gap: .4rem; }
.trow.off { opacity: .5; }
/* Hovra över en produkttyp → exempelbild på hur den ser ut */
.typepeek { position: relative; border-bottom: 1px dotted var(--muted); }
.typepeek img { display: none; position: absolute; left: 0; top: calc(100% + 6px); z-index: 30; width: 200px; height: 200px;
  object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 4px; box-shadow: 0 6px 24px #000a;
  pointer-events: none; }
.typepeek:hover img { display: block; }
.trow { padding: .25rem 0; border-bottom: 1px dashed #232a33; }
.pstats { grid-column: 1 / -1; font-size: 11.5px; color: var(--muted); margin: -.1rem 0 .15rem 2.9rem; }
.pstats a { color: #93c5fd; cursor: pointer; border-bottom: 1px dotted #93c5fd; }
.pstats a:hover { text-decoration: none; color: #fff; }
.flash-input { outline: 2px solid var(--accent); transition: outline .2s; }
.quick-actions { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.btn.big { padding: .55rem 1.3rem; font-size: 1rem; }

/* ---- Botten: inställningar i steg */
.setup { padding: .8rem 1rem 1rem; }
.setup-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem 1rem; margin-bottom: .6rem; }
.setup-head h2 { margin: 0; }
.step { border: 1px solid var(--line); border-radius: 10px; margin: .45rem 0; background: #151a20; }
.step[open] { border-color: #56606e; }
.step > summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: auto minmax(180px, 250px) 1fr auto;
  gap: .8rem; align-items: center; padding: .65rem .8rem; }
.step > summary::-webkit-details-marker { display: none; }
.step > summary:hover { background: #1a2029; border-radius: 10px; }
.stepnum { width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--accent); color: #111; font-weight: 700;
  display: flex; align-items: center; justify-content: center; font-size: 13px; }
.steptitle { font-weight: 600; }
.stepnow { color: #cbd5e1; font-size: 13.5px; }
.stepedit { color: var(--muted); font-size: 12.5px; white-space: nowrap; }
.step[open] .stepedit { visibility: hidden; }
.stepbody { padding: .2rem 1rem 1rem 3.3rem; }
.stepbody h4 { margin: .4rem 0 .2rem; color: var(--accent); font-size: .95rem; }
.stepbody label { margin: .3rem 0; }
.help { color: var(--muted); font-size: 13px; margin: .2rem 0 .6rem; max-width: 70ch; }
.optgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: .1rem 1rem; margin-bottom: .4rem; }
.twocol { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.4rem; }
.stepbody select, .stepbody input:not([type=checkbox]):not([type=time]) { width: 100%; max-width: 360px; }
.stepbody .typegrid { grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: .1rem 1.4rem; }
.savebar { position: sticky; bottom: .7rem; z-index: 20; display: flex; gap: .8rem; align-items: center; justify-content: flex-end;
  background: #2a2410; border: 1px solid var(--accent); border-radius: 10px; padding: .5rem .8rem; margin-top: .6rem;
  box-shadow: 0 6px 24px #000a; }
.section-title { margin: 1.4rem 0 .2rem; color: var(--text); }
@media (max-width: 700px) {
  .step > summary { grid-template-columns: auto 1fr; gap: .3rem .7rem; }
  .stepnow { grid-column: 2 / -1; }
  .stepedit { display: none; }
  .stepbody { padding: .2rem .8rem 1rem; }
  .stepbody .typegrid { grid-template-columns: 1fr; }
}

/* ---- Utforska: kortvy */
.bhead { display: flex; align-items: baseline; gap: .8rem; flex-wrap: wrap; }
.bhead h1 { margin-bottom: .6rem; }
.bhead .autorefresh { margin-left: auto; display: inline-flex; align-items: center; gap: .3rem; cursor: pointer; }
.searchbar { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; margin-bottom: .7rem; }
.searchbar input[type=search] { flex: 1 1 320px; font-size: 1rem; padding: .55rem .8rem; border-radius: 10px; }
.morefilters { position: relative; }
.morefilters > summary { cursor: pointer; list-style: none; padding: .5rem .8rem; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); }
.morefilters[open] > summary { border-color: var(--accent); }
.mf-body { position: absolute; z-index: 25; top: 2.6rem; left: 0; display: flex; flex-wrap: wrap; gap: .4rem; background: var(--panel2);
  border: 1px solid var(--line); border-radius: 10px; padding: .6rem; width: max-content; max-width: 90vw; box-shadow: 0 8px 28px #0009; }
.viewseg { margin-left: auto; }
.langbar .chips { margin: 0; }
.pgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: .9rem; }
.pcard { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; display: flex; flex-direction: column; }
.pcard.instock { border-color: #1d5f36; box-shadow: 0 0 0 1px #1d5f3655; }
.pimg { position: relative; height: 180px; background: #eef0f3; display: flex; align-items: center; justify-content: center; }
.pimg img { max-width: 100%; max-height: 100%; object-fit: contain; padding: .6rem; }
.pimg .ph { font-size: 4rem; opacity: .8; }
.pcard:not(.instock) .pimg img { filter: grayscale(.55); opacity: .85; }
.ptype { position: absolute; left: .6rem; top: .6rem; background: #111827cc; color: #fff; font-size: 11.5px; padding: .15rem .5rem; border-radius: 99px; }
.pbody { padding: .7rem .85rem .85rem; display: flex; flex-direction: column; gap: .45rem; }
.pbody h3 { margin: 0; font-size: 1rem; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.best { font-size: 13.5px; } .best b { color: #86efac; font-size: 1.1rem; }
.best.none { color: var(--muted); }
.offers { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .15rem; }
.offer { display: grid; grid-template-columns: auto auto 1fr; grid-auto-flow: column; grid-auto-columns: auto;
  align-items: center; gap: .45rem; padding: .3rem .35rem; border-radius: 7px; font-size: 13px; }
.offer[hidden], tr[hidden], .pcard[hidden] { display: none; }
.target { background: none; border: none; font-size: 13px; cursor: pointer; padding: 0; filter: grayscale(1); opacity: .35; }
.target.on, .target:hover { filter: none; opacity: 1; }
.low30 { margin-left: .35rem; font-size: 12px; color: var(--muted); white-space: nowrap; }
.low30.hot { color: #fdba74; }
.instore { filter: grayscale(1); opacity: .5; } .instore.has { filter: none; opacity: 1; }
.linkish { align-self: flex-start; }
/* Ändrat sedan förra automatiska uppdateringen */
@keyframes changedFlash { from { background: #3b3413; box-shadow: inset 3px 0 0 #facc15; } to { background: transparent; box-shadow: none; } }
.offer.changed, tr.changed { animation: changedFlash 12s ease-out; }
.pcard.changed { outline: 2px solid #facc15; outline-offset: -2px; }
/* Tydlig markering av raden (länken) man hovrar över */
.offer:hover { background: #253041; box-shadow: inset 3px 0 0 var(--accent); }
.more-offers .offer:hover { opacity: 1; }
.offer:hover .ostore { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
.offer:hover .ostore::after { content: " ↗"; }
.offer .dot { width: 9px; height: 9px; border-radius: 50%; background: #64748b; }
.o-buyable .dot { background: var(--green); } .o-preorder .dot { background: var(--blue); } .o-preorder_uncertain .dot { background: var(--orange); }
.o-sold_out .dot { background: var(--red); } .o-watch_only .dot { background: var(--purple); }
.ostore { color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ostatus { color: var(--muted); font-size: 12px; white-space: nowrap; }
.o-buyable .ostatus { color: #86efac; } .o-preorder .ostatus { color: #93c5fd; }
.oprice { font-weight: 600; white-space: nowrap; text-align: right; } .oprice small { color: var(--muted); font-weight: 400; }
.oship { font-size: 11.5px; white-space: nowrap; } .oship.s-ok { color: #86efac; } .oship.s-maybe { color: #fcd34d; } .oship.s-bad { color: #fca5a5; }
.oinfo { color: var(--muted); } .oinfo:hover { color: var(--text); text-decoration: none; }
.offer .cmp { margin: 0; }
.more-offers > summary { cursor: pointer; color: var(--muted); font-size: 12.5px; padding: .2rem .35rem; }
.more-offers[open] > summary { margin-bottom: .2rem; }
.more-offers .offer { opacity: .8; }
td.thumb { width: 56px; } td.thumb img { width: 48px; height: 48px; object-fit: contain; background: #eef0f3; border-radius: 6px; }
td.thumb span { font-size: 1.6rem; }
.cmpbar { position: sticky; bottom: .7rem; margin-left: auto; width: fit-content; background: var(--panel2); border: 1px solid var(--accent);
  border-radius: 10px; padding: .45rem .7rem; box-shadow: 0 6px 24px #000a; display: flex; gap: .6rem; align-items: center; }
@media (max-width: 700px) {
  .pgrid { grid-template-columns: 1fr; }
  .viewseg { margin-left: 0; }
  .offer .ostatus, .offer .oinfo, .offer .target:not(.on) { display: none; }
}

/* ---- Segmentknappar (språk) */
.langbar { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin: 0 0 .8rem; }
.seg { display: inline-flex; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.seg button, .seg a { background: var(--panel); color: var(--text); border: none; border-right: 1px solid var(--line);
  padding: .45rem 1rem; font: inherit; font-weight: 600; cursor: pointer; }
.seg button:last-child, .seg a:last-child { border-right: none; }
.seg button:hover, .seg a:hover { background: var(--panel2); text-decoration: none; }
.seg .on { background: var(--accent); color: #111; }

/* ---- Reglage (switch) */
label.sw { display: flex; align-items: center; gap: .55rem; cursor: pointer; user-select: none; }
label.sw input { position: absolute; opacity: 0; width: 0; height: 0; }
label.sw i { width: 36px; height: 20px; border-radius: 20px; background: #3a4250; position: relative; flex: none; transition: .15s; }
label.sw i::after { content: ""; position: absolute; left: 3px; top: 3px; width: 14px; height: 14px; border-radius: 50%; background: #cbd5e1; transition: .15s; }
label.sw input:checked + i { background: var(--green); }
label.sw input:checked + i::after { left: 19px; background: #fff; }
label.sw input:focus-visible + i { outline: 2px solid var(--accent); }
label.sw.only { display: inline-flex; margin: 0; }

/* ---- Botten: filterknappar och tabell */
.chips { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: .6rem 0; }
.chip { padding: .3rem .75rem; border-radius: 99px; border: 1px solid var(--line); background: var(--panel); color: var(--text); font-size: 13px; }
.chip b { color: var(--muted); margin-left: .2rem; }
.chip:hover { text-decoration: none; border-color: #56606e; }
.chip.on { background: var(--accent); color: #111; border-color: var(--accent); } .chip.on b { color: #111; }
.chip-search { margin-left: auto; }
/* Botten och Butiker: begränsad bredd så att namn, pris och reglage syns utan att vrida på huvudet */
main.narrow { max-width: 1320px; margin: 0 auto; }
main.narrow:has(table.list) { max-width: 1600px; }  /* Butiker: många kolumner */
table.simple { width: 100%; }
table.simple td.name { max-width: 460px; }
table.simple td, table.simple th { padding: .5rem .55rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
table.simple th { background: var(--panel); font-weight: 600; font-size: 13px; color: var(--muted); }
table.simple tr:hover td { background: #161b22; }
table.simple td.name a { color: var(--text); font-weight: 600; }
table.simple .meta { font-size: 12px; color: var(--muted); font-weight: 400; }
table.simple tr.dim td { opacity: .5; }
.nowrap { white-space: nowrap; }
.warn-icon { color: #fcd34d; cursor: help; margin-left: .25rem; }
.icon { background: none; border: 1px solid var(--line); color: var(--text); border-radius: 6px; padding: .1rem .45rem; cursor: pointer; font-size: 14px; }
.icon:hover { border-color: #56606e; text-decoration: none; }
#bulk-bar { position: sticky; bottom: .6rem; background: var(--panel2); border: 1px solid var(--accent); border-radius: 10px;
  padding: .5rem .8rem; box-shadow: 0 6px 24px #000a; width: fit-content; }
@media (max-width: 700px) {
  .top { gap: .4rem; } .actions .dot { display: none; } .actions { margin-left: auto; }
  .stat-actions { margin-left: 0; width: 100%; }
  table.simple th:nth-child(1), table.simple td:nth-child(1), table.simple th:nth-child(2), table.simple td:nth-child(2),
  table.simple th:nth-child(8), table.simple td:nth-child(8) { display: none; }
  table.simple td, table.simple th { padding: .45rem .3rem; }
  table.simple td.name { min-width: 150px; font-size: 13px; }
  table.simple .tag { font-size: 10.5px; }
  .chip-search { margin-left: 0; width: 100%; } .chip-search input { width: 100%; }
}

.heart { background: none; border: none; color: #444b55; font-size: 17px; cursor: pointer; padding: 0; }
.heart.on { color: #f43f5e; }
tr.group td { background: #1b2230; border-top: 2px solid #33405a; padding-top: .55rem; }
.note { color: #c4b5fd; }
.warn-text { color: #fcd34d; }
table.compare th { position: static; width: 190px; }
table.compare td { min-width: 180px; }
table.compare td.best { background: #0f3a22; }
