/* ============================================================
   Karlix QMS — radnje
   Dopuna uz qms.css i qms-list.css. Učitava se poslije njih.
   ============================================================ */

/* ------------------------------------------------------------
   1. GRID
   Rok je prva kolona i zadano sortiranje.
   ------------------------------------------------------------ */

.qms-list--act { table-layout: fixed; }

/* Radnja je uzimala sav višak, a odgovorna osoba i stupac s radnjama
   su se rezali. Radnja dobiva gornju granicu, ostalo prostor. */
.qms-list--act th.c-due    { width: 116px; }
.qms-list--act th.c-task   { width: auto; max-width: 240px; }
.qms-list--act th.c-case   { width: 260px; }
.qms-list--act th.c-owner  { width: 204px; }
/* „Preuzeto, bez podataka" (plan 046, D8) ne stane u 150 px i rezalo se na
   „Preuzeto, bez …" — a oznaka koja se ne pročita ne objašnjava ništa.
   Širina uzeta od stupca s odgovornom osobom, koji je imao viška. */
.qms-list--act th.c-status { width: 206px; }
.qms-list--act th.c-act    { width: 150px; text-align: right; }

.qms-list--act td.c-task { max-width: 240px; }

.qms-list--act td.c-act { text-align: right; }

/* rubnica lijevo nosi hitnost — isti obrazac kao nepročitana obavijest */
.qms-list--act tbody tr { border-left: 3px solid transparent; }
.qms-list--act tbody tr.is-late  { border-left-color: var(--bad); }
.qms-list--act tbody tr.is-today { border-left-color: var(--warn); }
.qms-list--act tbody tr td:first-child { padding-left: 17px; }

/* ------------------------------------------------------------
   2. ROK
   ------------------------------------------------------------ */

.qms-actdue { font-variant-numeric: tabular-nums; color: var(--ink-2); }
.qms-actdue.is-late  { color: var(--bad-text); font-weight: 600; }
.qms-actdue.is-today { color: var(--warn-text); font-weight: 600; }
.qms-actdue.is-soon  { color: var(--warn-text); font-weight: 500; }

.qms-actdue-note { display: block; margin-top: 2px; font-size: 12px; color: var(--ink-4); }
.qms-actdue-note.is-late  { color: var(--bad-text); }
.qms-actdue-note.is-today { color: var(--warn-text); }

/* ------------------------------------------------------------
   3. VRSTA RADNJE
   Korekcija gasi simptom, korektivna uklanja uzrok,
   preventivna sprječava pojavu — razlika se traži pred auditom.
   ------------------------------------------------------------ */

.qms-kind {
    flex: 0 0 auto;
    padding: 1px 7px;
    border-radius: 5px;
    background: var(--neutral-soft); color: var(--ink-2);
    font-size: 11px;
}
.qms-kind--corrective { background: var(--bad-soft);  color: var(--bad-text); }
.qms-kind--preventive { background: var(--good-soft); color: var(--good-text); }

.qms-taskmeta { display: flex; align-items: center; gap: 8px; margin-top: 3px; }
.qms-taskmeta > span:last-child {
    font-size: 12px; color: var(--ink-3);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* ------------------------------------------------------------
   4. SLUČAJ
   ------------------------------------------------------------ */

.qms-caseref { display: flex; align-items: center; gap: 8px; }
.qms-caseref .qms-mono {
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.qms-casetitle {
    display: block; margin-top: 2px;
    font-size: 12px; color: var(--ink-3);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* ------------------------------------------------------------
   5. RADNJA U RETKU
   ------------------------------------------------------------ */

.qms-rowbtn {
    display: inline-flex; align-items: center; gap: 7px;
    height: 28px; padding: 0 11px;
    border: 1px solid var(--line-strong);
    border-radius: 7px;
    background: transparent;
    color: var(--ink-2);
    font: inherit; font-size: 12px; white-space: nowrap;
    text-decoration: none; cursor: pointer;
}
.qms-rowbtn:hover { border-color: var(--pop-line); color: var(--ink-strong); text-decoration: none; }
.qms-rowbtn i { font-size: 11px; }

.qms-rowbtn--verify {
    border-color: color-mix(in oklch, var(--good) 40%, transparent);
    background: var(--good-soft);
    color: var(--good-text);
}
.qms-rowbtn--done {
    border-color: var(--accent-line);
    background: var(--accent-soft);
    color: var(--accent-text);
}

/* ------------------------------------------------------------
   6. RESPONZIVNO
   ------------------------------------------------------------ */

@media (max-width: 900px) {
    .qms-list--act { table-layout: auto; }
    .qms-list--act th, .qms-list--act td { width: auto !important; }
    .qms-list--act td.c-act { text-align: left; }
    .qms-list--act tbody tr { border-left-width: 3px; }
    .qms-rowbtn { height: 36px; }
}

/* ------------------------------------------------------------
   7. FILTRI

   Traka je dosad imala pet stupaca zadanih umetnutim stilom u pogledu
   (protivno pravilu iz CLAUDE.md). Sa stanjem (plan 046, D7) ih je šest,
   pa pretraga ustupa nešto širine, a lomljenje prati qms-list.css.
   ------------------------------------------------------------ */

.qms-act-filtergrid { grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr 1fr; }

@media (max-width: 1400px) {
    .qms-act-filtergrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .qms-act-filtergrid { grid-template-columns: minmax(0, 1fr); }
}
