/* ═══════════════════════════════════════════════════════════════════════════
   PANELDEMOT — formatmallen

   Samma fönster som de andra, ur css/systemskal.css. Eget här är två vyer:
   objektlistan och analysen. Båda är täta med flit, rutan ska rymmas på en
   skärm tillsammans med rubriken över sig.
   ═══════════════════════════════════════════════════════════════════════ */

/* RESERV PER VY, inte en gemensam. Monteringen bär data-vy, alltså kan reserven
   veta vilken skärm som kommer; ett gemensamt mått hade antingen förskjutit
   den ena eller lämnat ett hål under den andra.

   MÄTT OM 6 september 2026, när objektlistan blev ett rutnät med foton: den är
   1926 px vid 342, 680 vid 717 och 485 vid 1072, analysen 1317/939/883. Kortet
   är brett på en telefon och smalt på ett skrivbord, så listan svänger mer än
   någon annan ruta på sajten.

   RESERVEN GÄLLER LISTAN, inte objektsidan. Objektsidan är högre, men dit
   kommer man bara genom att trycka, och en höjdändring direkt efter ett tryck
   räknas inte som förskjutning. Att reservera för den hade lämnat trehundra
   pixlar tomt under rutnätet vid varje besök. */
.pnd{position:relative;display:flex;flex-direction:column;margin-top:.85rem;
  min-height:1945px;border-radius:16px}
.pnd[data-vy="statistik"]{min-height:1325px}
.pnd:empty{border:1px solid var(--line);background:
  radial-gradient(300px 200px at 15% 110%, rgba(79,195,255,.2), transparent 60%),
  radial-gradient(300px 200px at 85% -10%, rgba(127,176,255,.15), transparent 60%),
  #eaeff9}

.pn{position:relative;flex:1;min-height:0;display:flex;overflow:hidden;
  border:1px solid var(--line);border-radius:16px;background:#e9eef9;
  box-shadow:0 22px 50px -44px rgba(10,24,84,.6)}
.pn-panel{display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--line2);border-radius:12px;
  padding:clamp(.5rem,1.1vw,.68rem);overflow:hidden}
.pn-ing,.pn-period{font-size:.73rem;line-height:1.5;color:var(--muted);
  margin:0 0 .5rem;max-width:80ch}
.pn-rub{font-family:var(--display);font-size:.9rem;font-weight:600;
  color:var(--text);margin:.7rem 0 .4rem}
.pn-rub:first-of-type{margin-top:0}

/* ── Verktygsraden och filtren ─────────────────────────────────────────────
   Ingen av dem är tryckbar. Sökfältet och filtren hör till skärmen och inte
   till demot: det som fungerar här är menyn, och att låtsas att fem filter
   också gör det hade varit precis den sortens löfte skalet undviker. */
.pn-verktyg{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.45rem}
.pn-sok{flex:1;min-width:150px;display:flex;align-items:center;gap:.35rem;
  padding:.3rem .5rem;border:1px solid var(--line);border-radius:8px;
  background:#fbfcff;font-size:.72rem;color:var(--faint)}
.pn-sort{padding:.3rem .55rem;border:1px solid var(--line);border-radius:8px;
  background:#fff;font-size:.72rem;font-weight:600;color:var(--muted)}
.pn-ny{padding:.3rem .6rem;border-radius:8px;background:#1b3a8f;
  font-size:.72rem;font-weight:700;color:#fff}
.pn-filter{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.55rem;
  padding-bottom:.55rem;border-bottom:1px solid var(--line2)}
.pn-f{display:grid;gap:.1rem;padding:.25rem .5rem;border:1px solid var(--line);
  border-radius:8px;background:#fbfcff}
.pn-f em{font-style:normal;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:.52rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--faint)}
.pn-f b{font-size:.71rem;font-weight:600;color:var(--text)}

/* ── Rutnätet med objekt ─────────────────────────────────────────────────
   Kortet är en <button> och inte en div: den som tabbar ska nå objekten, och
   en knapp får fokusring och Enter gratis. Knappen nollas därför helt, den
   ärver varken typsnitt, textriktning eller bakgrund. */
.pn-vink{margin-left:auto;padding:.1rem .5rem;border-radius:999px;
  border:1px solid rgba(92,141,255,.4);background:rgba(42,85,200,.09);
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.55rem;
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--g2)}
.pn-rutnat{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  overflow:auto;min-height:0;align-content:start}
.pn-kort{display:block;width:100%;padding:0;cursor:pointer;text-align:left;
  font:inherit;color:inherit;border:1px solid var(--line2);border-radius:11px;
  background:#fff;overflow:hidden;
  transition:border-color .18s var(--ease-solutra,ease),
             box-shadow .18s var(--ease-solutra,ease),
             transform .18s var(--ease-solutra,ease)}
.pn-kort:hover{border-color:rgba(92,141,255,.5);
  box-shadow:0 16px 30px -26px rgba(10,24,84,.8);transform:translateY(-1px)}
.pn-kort:focus-visible{outline:2px solid var(--g2);outline-offset:2px}
.pn-foto{position:relative;display:block;aspect-ratio:3/2;background:#e9eef9}
.pn-foto img{display:block;width:100%;height:100%;object-fit:cover}
.pn-foto--tom{display:grid;place-items:center;
  background:repeating-linear-gradient(135deg,#eef2fa 0 8px,#e7ecf7 8px 16px)}
.pn-foto--tom i{font-style:normal;font-size:.66rem;color:var(--faint)}
.pn-foto .pn-status{position:absolute;left:.4rem;top:.4rem;font-style:normal;
  background:rgba(255,255,255,.92);backdrop-filter:blur(2px)}
.pn-kort-t{display:grid;gap:.08rem;padding:.45rem .55rem .55rem}
.pn-kort-t b{font-size:.78rem;font-weight:650;color:var(--text);line-height:1.25;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pn-kort-p{font-size:.82rem;font-weight:700;color:var(--g2)}
.pn-kort-p i{font-style:normal;font-weight:600;font-size:.7rem;color:var(--faint)}
.pn-kort-t em{font-style:normal;font-size:.63rem;color:var(--faint);line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── Objektsidan ─────────────────────────────────────────────────────────── */
.pn-tillbaka{align-self:start;display:inline-flex;align-items:center;gap:.25rem;
  margin-bottom:.45rem;padding:.22rem .5rem .22rem .35rem;border-radius:8px;
  cursor:pointer;border:1px solid var(--line);background:#fff;
  font:inherit;font-size:.71rem;font-weight:600;color:var(--muted)}
.pn-tillbaka:hover{border-color:rgba(92,141,255,.5);color:var(--text)}
.pn-tillbaka:focus-visible{outline:2px solid var(--g2);outline-offset:2px}
.pn-panel--obj{overflow:auto}
.pn-obj-h{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.3rem}
.pn-ref,.pn-skylt{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.58rem;
  font-weight:700;letter-spacing:.07em;color:var(--faint)}
.pn-skylt{padding:.1rem .45rem;border-radius:999px;
  border:1px solid rgba(194,164,105,.4);background:rgba(194,164,105,.14);color:#755c2e}
.pn-obj-t{margin:0;font-family:var(--display);font-size:1.25rem;font-weight:600;
  letter-spacing:-.012em;color:var(--text)}
.pn-obj-pris{margin:.1rem 0 0;font-family:var(--display);font-size:1.15rem;
  font-weight:600;color:var(--g2)}
.pn-obj-pris i{font-style:normal;font-size:.85rem;color:var(--faint)}
.pn-obj-fakta{margin:.15rem 0 0;font-size:.73rem;color:var(--muted)}
.pn-obj-ans{display:flex;align-items:center;gap:.35rem;margin:.35rem 0 0;
  font-size:.71rem;color:var(--muted)}
.pn-av{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;
  background:rgba(92,141,255,.16);font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:.5rem;font-weight:700;color:var(--g2)}
.pn-ass{display:grid;gap:.15rem;margin-top:.55rem;padding:.5rem .6rem;
  border:1px solid var(--line2);border-radius:11px;background:#fbfcff}
.pn-ass em{font-style:normal;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:.52rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--faint)}
.pn-ass p{margin:0;font-size:.73rem;line-height:1.5;color:var(--muted)}
.pn-ass-kn{justify-self:start;margin-top:.2rem;padding:.28rem .6rem;border-radius:8px;
  background:#1b3a8f;font-size:.71rem;font-weight:700;color:#fff}
/* Anteckningen står på objektet, inte i någons huvud. Blå kant åt vänster som
   i produkten: den betyder "någon har lagt in det här om objektet". */
.pn-notering{display:grid;gap:.1rem;margin:.5rem 0 0;padding:.4rem .55rem;
  border-left:3px solid var(--g2);border-radius:0 9px 9px 0;
  background:rgba(92,141,255,.07);font-size:.72rem;line-height:1.5;color:var(--text)}
.pn-notering i{font-style:normal;font-size:.63rem;color:var(--faint)}
.pn-obj-rub{display:flex;align-items:baseline;gap:.4rem;margin:.6rem 0 .3rem;
  font-family:var(--display);font-size:.88rem;font-weight:600;color:var(--text)}
.pn-obj-rub span{font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:.6rem;font-weight:700;color:var(--faint)}
.pn-strip{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;
  grid-template-columns:repeat(3,minmax(0,1fr))}
.pn-strip li{position:relative;border-radius:9px;overflow:hidden;background:#e9eef9}
.pn-strip img{display:block;width:100%;height:100%;aspect-ratio:3/2;object-fit:cover}
.pn-strip em{position:absolute;left:.3rem;top:.3rem;padding:.08rem .4rem;
  border-radius:999px;background:rgba(255,255,255,.92);font-style:normal;
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.52rem;
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}
.pn-tomt{margin:0;padding:.5rem .6rem;border:1px dashed var(--line);border-radius:9px;
  font-size:.72rem;line-height:1.5;color:var(--muted)}
.pn-sektioner{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.3rem}
.pn-sektioner li{display:flex;align-items:baseline;gap:.4rem;padding:.4rem .55rem;
  border:1px solid var(--line2);border-radius:9px;background:#fbfcff;
  font-size:.76rem;font-weight:600;color:var(--text)}
.pn-sektioner span{margin-left:auto;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:.6rem;font-weight:700;color:var(--faint)}

.pn-status{justify-self:start;padding:.1rem .42rem;border-radius:999px;
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.55rem;
  font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.pn-status--publicerad{background:rgba(47,125,74,.12);color:#2f7d4a}
.pn-status--utkast{background:rgba(10,24,84,.07);color:var(--faint)}
.pn-status--foto{background:rgba(194,164,105,.16);color:#755c2e}

/* ── Analysen ────────────────────────────────────────────────────────────── */
.pn-datum{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;
  padding-bottom:.55rem;border-bottom:1px solid var(--line2)}
.pn-d{display:grid;gap:.1rem;padding:.25rem .55rem;border:1px solid var(--line);
  border-radius:8px;background:#fbfcff}
.pn-d em{font-style:normal;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:.52rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--faint)}
.pn-d b{font-size:.72rem;font-weight:600;color:var(--text)}
.pn-csv{margin-left:auto;align-self:center;padding:.28rem .6rem;border-radius:8px;
  border:1px solid var(--line);background:#fff;font-size:.71rem;
  font-weight:600;color:var(--muted)}

/* Tratten. Tre steg i bredd, staplade under 560 px. Pilen mellan dem är ett
   pseudoelement och inte en bild: den ska följa textriktningen. */
.pn-tratt{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.pn-tratt li{position:relative;display:grid;gap:.1rem;padding:.45rem .6rem;
  border:1px solid var(--line2);border-radius:10px;background:#fbfcff}
.pn-tratt b{font-family:var(--display);font-size:1.35rem;font-weight:600;
  line-height:1.05;color:var(--text)}
.pn-tratt em{font-style:normal;font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:.53rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--faint)}
.pn-tratt i{font-style:normal;font-size:.66rem;color:#2f7d4a}
.pn-not-liten{margin:.4rem 0 0;font-size:.68rem;line-height:1.5;color:var(--faint)}

.pn-staplar{list-style:none;margin:0;padding:0;display:grid;gap:.22rem}
.pn-staplar li{display:grid;grid-template-columns:8.5rem minmax(0,1fr) 2rem;
  align-items:center;gap:.5rem}
.pn-staplar em{font-style:normal;font-size:.68rem;color:var(--muted);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pn-staplar b{font-size:.7rem;font-weight:700;color:var(--text);text-align:right}
.pn-stapel{display:block;height:9px;border-radius:999px;background:rgba(10,24,84,.07)}
.pn-stapel i{display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,#2a55c8,#5c8dff)}

.pn-tab{width:100%;border-collapse:collapse;font-size:.7rem}
.pn-tab th,.pn-tab td{padding:.24rem .3rem;text-align:right;
  border-bottom:1px solid var(--line2)}
.pn-tab thead th{font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:.52rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--faint)}
.pn-tab th[scope="row"]{text-align:left;font-weight:600;color:var(--text)}
.pn-tab thead th:first-child{text-align:left}
.pn-tab td{color:var(--muted)}
.pn-mini{display:inline-block;width:44px;height:6px;margin-right:.4rem;
  border-radius:999px;background:rgba(10,24,84,.07);vertical-align:middle}
.pn-mini i{display:block;height:100%;border-radius:999px;background:#5c8dff}

/* De två avsnitten som väntar. De ska INTE se avstängda ut: texten i dem är
   det ärligaste på skärmen, och en nedtonad ruta läser som något trasigt. */
.pn-vantar{margin-top:.55rem;padding:.5rem .6rem;border-radius:10px;
  border:1px dashed var(--line);background:rgba(92,141,255,.045)}
.pn-vantar h4{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;
  margin:0 0 .25rem;font-family:var(--display);font-size:.85rem;
  font-weight:600;color:var(--text)}
.pn-flagga{padding:.08rem .45rem;border-radius:999px;
  border:1px solid rgba(194,164,105,.4);background:rgba(194,164,105,.14);
  font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.53rem;
  font-weight:700;letter-spacing:.06em;color:#755c2e}
.pn-vantar p{margin:0;font-size:.7rem;line-height:1.55;color:var(--muted)}

.pn-not{flex:none;margin:.45rem 0 0;padding-top:.42rem;border-top:1px dashed var(--line);
  font-size:.72rem;line-height:1.55;color:var(--muted)}
.pn-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;border:0}

@media(min-width:560px){
  .pn-tratt{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:760px){
  .pnd{min-height:695px}
  .pnd[data-vy="statistik"]{min-height:955px}
}

@media(min-width:1000px){
  .pnd{min-height:495px}
  .pnd[data-vy="statistik"]{min-height:900px}
}

@media(prefers-reduced-motion:reduce){
  .pn-kort,.pn-stapel i,.pn-mini i{transition:none}
}
