:root { --latest-compatibility-marker: "styles.v3.css"; }

/* Mobilni pregled prekršaja: svaki red je čitljiva kartica sa nazivom podatka. */
.mobile-penalty-stack-cell {
  display: none;
}

#persistentSettingsButton {
  color: #fff;
  border-color: #087fc4;
  background: linear-gradient(145deg, #159ddd, #087fc4);
  box-shadow: 0 7px 18px color-mix(in srgb, #087fc4 32%, transparent);
}

#persistentSettingsButton svg {
  stroke-width: 2.15;
  transition: transform .2s ease;
}

#persistentSettingsButton:hover,
#persistentSettingsButton:focus-visible,
#persistentSettingsButton[aria-expanded="true"] {
  color: #fff;
  border-color: #056da9;
  background: linear-gradient(145deg, #1aa7e8, #0776b8);
  outline-color: color-mix(in srgb, #159ddd 34%, transparent);
}

#persistentSettingsButton:hover svg,
#persistentSettingsButton:focus-visible svg {
  transform: rotate(18deg);
}

/* Cela TachoDuck slika ostaje vidljiva, a ispuna prati prikazani procenat. */
#analysisLoading .loading-tachograph {
  display: grid;
  place-items: center;
  width: 104px !important;
  height: 104px !important;
}

#analysisLoading .loading-tachograph .loading-tachoduck-clip {
  inset: 6px !important;
  overflow: hidden;
  border-radius: 20px;
}

#analysisLoading .loading-tachoduck {
  width: 100%;
  height: 100%;
  padding: 2px;
  object-fit: contain;
  transform: none;
}

#analysisLoading .analysis-progress-track {
  position: relative;
  height: 12px;
  overflow: hidden;
  background: color-mix(in srgb, var(--blue, #0b7fc3) 9%, #ffffff);
}

#analysisLoading #analysisProgressFill {
  position: absolute;
  inset: 0 auto 0 0;
  display: block;
  width: var(--analysis-progress, 0%) !important;
  height: 100%;
  opacity: 1;
  background: linear-gradient(90deg, var(--blue, #0b7fc3), #61c8ff);
  box-shadow: 0 0 14px color-mix(in srgb, var(--blue, #0b7fc3) 48%, transparent);
  transition: width .28s ease;
}

#analysisLoading #analysisProgressValue {
  color: var(--blue, #0b7fc3);
}

@media (max-width: 680px) {
  .matlab-violation-viewer .violation-main {
    gap: 12px;
    min-width: 0;
  }

  .matlab-violation-viewer .violation-table-heading {
    min-height: 0;
    padding: 12px;
    gap: 10px;
  }

  .matlab-violation-viewer .violation-table-heading h3 {
    font-size: 1.15rem;
    line-height: 1.25;
  }

  .matlab-violation-viewer .violation-table-heading p,
  .matlab-violation-viewer .violation-table-meta {
    font-size: .875rem;
    line-height: 1.35;
  }

  .matlab-violation-viewer .violation-table-heading > div:last-child {
    min-width: 112px;
    padding: 7px 9px;
  }

  .matlab-violation-viewer .violation-table-heading > div:last-child strong {
    font-size: 1.2rem;
  }

  .matlab-violation-viewer .violation-table-scroll {
    min-height: 0;
    max-height: none;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .matlab-violation-viewer .violation-table {
    display: block;
    width: 100%;
    min-width: 0 !important;
    border: 0;
    border-collapse: separate;
    background: transparent;
    font-size: 1rem;
  }

  .matlab-violation-viewer .violation-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .matlab-violation-viewer .violation-table tbody {
    display: grid;
    gap: 12px;
    width: 100%;
  }

  .matlab-violation-viewer .violation-table tr.mobile-violation-card {
    display: grid;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--review-red) 32%, var(--border));
    border-radius: 14px;
    background: var(--panel);
    box-shadow: 0 7px 20px color-mix(in srgb, var(--ink) 7%, transparent);
  }

  .matlab-violation-viewer .violation-table tr.mobile-violation-card td {
    display: grid;
    grid-template-columns: minmax(112px, 39%) minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    width: auto !important;
    min-width: 0 !important;
    padding: 10px 12px;
    color: var(--ink);
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
    background: transparent;
    font-size: 1rem;
    line-height: 1.42;
    text-align: left;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  .matlab-violation-viewer .violation-table tr.mobile-violation-card td::before {
    content: attr(data-mobile-label);
    color: var(--muted);
    font-size: .875rem;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: .025em;
    text-transform: uppercase;
  }

  .matlab-violation-viewer .violation-table tr.mobile-violation-card td:empty {
    display: none;
  }

  .matlab-violation-viewer .violation-table tr.mobile-violation-card td:first-child {
    display: flex;
    align-items: center;
    gap: 7px;
    padding-block: 8px;
    color: var(--review-red);
    background: color-mix(in srgb, var(--review-red) 9%, var(--panel-strong));
    font-size: 0;
    font-weight: 950;
  }

  .matlab-violation-viewer .violation-table tr.mobile-violation-card td:first-child::before {
    content: attr(data-mobile-title);
    color: var(--review-red);
    font-size: .95rem;
  }

  .matlab-violation-viewer .violation-table tr.mobile-violation-party-row {
    display: none !important;
  }

  .matlab-violation-viewer .violation-table tr.mobile-violation-card td.mobile-penalty-source {
    display: none;
  }

  .matlab-violation-viewer .violation-table tr.mobile-violation-card td.mobile-penalty-stack-cell {
    display: block;
    padding: 10px 12px 4px;
    border-bottom: 0;
  }

  .matlab-violation-viewer .violation-table tr.mobile-violation-card td.mobile-penalty-stack-cell::before {
    display: block;
    margin-bottom: 2px;
  }

  .mobile-penalty-list {
    display: grid;
  }

  .mobile-penalty-entry {
    display: grid;
    gap: 4px;
    padding: 10px 0;
    border-bottom: 1px solid color-mix(in srgb, var(--border) 78%, transparent);
  }

  .mobile-penalty-entry:last-child {
    border-bottom: 0;
  }

  .mobile-penalty-amount-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 5px;
  }

  .mobile-penalty-amount {
    color: var(--review-red);
    font-size: 1.08rem;
    font-weight: 950;
    font-variant-numeric: tabular-nums;
  }

  .mobile-penalty-party {
    color: var(--ink);
    font-size: .95rem;
    font-weight: 850;
    text-transform: lowercase;
  }

  .mobile-penalty-law {
    color: var(--muted);
    font-size: .875rem;
    font-weight: 750;
    line-height: 1.4;
  }

  .matlab-violation-viewer .violation-table tr.mobile-violation-card td:last-child {
    border-bottom: 0;
  }

  .matlab-violation-viewer .violation-table tr.mobile-violation-card .money-cell {
    color: var(--review-red);
    font-size: 1.05rem;
    font-weight: 950;
  }

  .matlab-violation-viewer .violation-table tr.mobile-violation-card .violation-date-link {
    justify-self: start;
    width: auto;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 390px) {
  .matlab-violation-viewer .violation-table tr.mobile-violation-card td {
    grid-template-columns: minmax(100px, 36%) minmax(0, 1fr);
    gap: 8px;
    padding-inline: 10px;
  }
}
