/* Plate za ceo tim. Uses the site's CSS variables; fallbacks only for standalone preview. */
.pt {
  --pt-bg: var(--bg, #fff);
  --pt-fg: var(--fg, #111);
  --pt-muted: var(--muted, #5c5c5c);
  --pt-accent: var(--accent, #1f5eff);
  --pt-ink: var(--accent-ink, #006b4f);
  --pt-line: var(--line, #d9d9d9);
  --pt-card: var(--card, #f6f6f6);
  color: var(--pt-fg);
  font-variant-numeric: tabular-nums;
  display: grid;
  gap: 1rem;
}
.pt *, .pt *::before, .pt *::after { box-sizing: border-box; }

.pt-panel {
  display: grid;
  gap: .9rem;
  padding: 1.25rem;
  background: var(--pt-card);
  border: 1px solid var(--pt-line);
  border-radius: 12px;
  min-width: 0;
}
.pt-field { display: grid; gap: .35rem; max-width: 24rem; }
.pt-field > label { font-weight: 600; }
.pt-row { display: flex; flex-wrap: wrap; gap: .6rem; }

.pt input[type="text"], .pt select {
  width: 100%;
  min-height: 2.75rem;
  padding: .5rem .65rem;
  font: inherit;
  color: var(--pt-fg);
  background: var(--pt-bg);
  border: 1px solid var(--pt-line);
  border-radius: 8px;
}
.pt :focus-visible { outline: 2px solid var(--pt-accent); outline-offset: 2px; }

.pt-btn, .pt-btn-s {
  min-height: 2.75rem;
  padding: .6rem 1.15rem;
  font: inherit;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  justify-self: start;
}
.pt-btn { color: var(--pt-bg); background: var(--pt-fg); border: 0; }
.pt-btn-s { color: var(--pt-fg); background: var(--pt-bg); border: 1px solid var(--pt-line); }
.pt-btn[disabled] { opacity: .6; cursor: progress; }

.pt-file { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.pt-drop {
  display: grid;
  gap: .3rem;
  padding: 1.25rem;
  text-align: center;
  background: var(--pt-bg);
  border: 2px dashed var(--pt-line);
  border-radius: 12px;
  cursor: pointer;
}
.pt-file:focus-visible + .pt-drop { outline: 2px solid var(--pt-accent); outline-offset: 2px; }
.pt-drop.pt-over { border-color: var(--pt-accent); }
.pt-privacy { margin: 0; font-weight: 600; color: var(--pt-ink); }

.pt-hint { margin: 0; font-size: .9rem; color: var(--pt-muted); }
.pt-error { margin: 0; font-size: .95rem; color: #c62828; }
.pt-error:empty { display: none; }

.pt-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.pt table { width: 100%; border-collapse: collapse; }
.pt caption { text-align: left; font-weight: 600; padding-bottom: .5rem; }
.pt th, .pt td { padding: .45rem .4rem; border-bottom: 1px solid var(--pt-line); vertical-align: top; text-align: left; }
.pt thead th { font-size: .85rem; color: var(--pt-muted); font-weight: 600; white-space: nowrap; }
.pt-entry td { min-width: 6.5rem; }
.pt-entry td:first-child { min-width: 11rem; }
.pt-xcell { width: 2.75rem; min-width: 2.75rem !important; }
.pt-x { width: 2.75rem; height: 2.75rem; font: inherit; font-size: 1.3rem; color: var(--pt-muted); background: transparent; border: 1px solid var(--pt-line); border-radius: 8px; cursor: pointer; }

.pt-out:empty { display: none; }
.pt-out { display: grid; gap: .9rem; min-width: 0; }
.pt-summary { font-size: 1.1rem; margin: 0; }
.pt-h { margin: 0; font-size: 1rem; }
.pt-flags { margin: 0; padding-left: 1.1rem; display: grid; gap: .35rem; color: #c62828; }
.pt-flags strong { color: var(--pt-fg); }
.pt-result th[scope="row"] { font-weight: 600; min-width: 10rem; }
.pt-num { text-align: right !important; white-space: nowrap; }
.pt-result thead th:nth-child(n+3):nth-child(-n+8) { text-align: right; }
.pt-total th, .pt-total td { font-weight: 700; color: var(--pt-ink); border-bottom: 0; }
.pt-explain, .pt-warn { display: block; font-size: .82rem; font-weight: 400; color: var(--pt-muted); margin-top: .15rem; }
.pt-warn { color: #b26a00; }

.pt-note { margin: 0; font-size: .9rem; color: var(--pt-muted); }
.pt-bridge {
  margin: 0;
  padding: 1rem 1.25rem;
  border-left: 3px solid var(--pt-accent);
  background: var(--pt-card);
  border-radius: 0 8px 8px 0;
}
.pt-bridge a { color: var(--pt-ink); font-weight: 600; }

.pt-sources { font-size: .9rem; color: var(--pt-muted); }
.pt-sources summary { cursor: pointer; color: var(--pt-fg); font-weight: 600; min-height: 2.75rem; display: flex; align-items: center; }
.pt-sources ul { padding-left: 1.1rem; display: grid; gap: .5rem; }
.pt-sources strong { color: var(--pt-fg); }
.pt-sources a { color: var(--pt-ink); }
.pt-sources q { overflow-wrap: anywhere; }

@media (max-width: 600px) {
  .pt-panel { padding: 1rem; }
  .pt-btn, .pt-btn-s { justify-self: stretch; width: 100%; }
  /* entry table stacks into one card per worker */
  .pt-entry thead { display: none; }
  .pt-entry tr { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; padding: .75rem 0; border-bottom: 1px solid var(--pt-line); }
  .pt-entry td { display: grid; gap: .2rem; padding: 0; border: 0; min-width: 0 !important; }
  .pt-entry td:first-child { grid-column: 1 / -1; }
  .pt-entry td[data-label]::before { content: attr(data-label); font-size: .8rem; color: var(--pt-muted); }
  .pt-xcell { grid-column: 2; justify-self: end; align-self: end; }
}
@media (prefers-color-scheme: dark) {
  .pt-error, .pt-flags { color: #ff8a80; }
  .pt-warn { color: #ffb74d; }
}
