/*
 * Checklist (/checklist): brojači po fazi, filteri, tabela grupisana po oblasti, status kao obojena
 * padajuća lista. Boje i razmaci su tokeni iz astracia.css; ovde je samo ono što je posebno za ovu stranu.
 */

/* Zaglavlje kao na javnom /launch-checklist. */
body.astracia .public-checklist-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 20px; }
body.astracia .public-checklist-header h1 { margin: 0 0 6px; }
body.astracia .public-checklist-header p { margin: 0; }

body.astracia .checklist-brojaci {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

body.astracia .checklist-brojaci .broj .tiho {
    font-size: 15px;
    font-weight: 500;
}

body.astracia .checklist-alatke {
    position: sticky;
    top: 8px;
    z-index: 4;
    padding: 12px 16px;
}

body.astracia .checklist-alatke .filteri {
    margin: 0;
    align-items: end;
}

body.astracia .checklist-alatke .filteri label {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

body.astracia .checklist-alatke .filteri label.raste {
    flex: 1 1 220px;
}

body.astracia .checklist-alatke .filteri label.raste input {
    width: 100%;
}

body.astracia .checklist-alatke .brojac-prikaza {
    font-family: var(--mono);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    padding-bottom: 8px;
}

body.astracia .checklist-alatke .dugme-tekst {
    padding-bottom: 8px;
}

body.astracia .checklist-oblast {
    margin-top: 22px;
}

body.astracia .checklist-oblast .oblast-glava {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 0 2px 8px;
}

body.astracia .checklist-oblast .oblast-glava h2 {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0;
}

body.astracia .checklist-oblast .oblast-glava .tiho {
    font-family: var(--mono);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

body.astracia .tabela-checklist {
    min-width: 1080px;
}

body.astracia .tabela-checklist td {
    vertical-align: top;
}

body.astracia .tabela-checklist tr.zavrsen td {
    opacity: 0.55;
}

body.astracia .tabela-checklist tr.zavrsen td.k-stavka {
    text-decoration: line-through;
    text-decoration-color: var(--boja-tekst-slabo);
}

body.astracia .tabela-checklist .k-stavka {
    font-weight: 600;
    min-width: 170px;
    max-width: 210px;
}

body.astracia .tabela-checklist .k-stavka .vrsta {
    display: block;
    font-weight: 400;
    font-size: 12px;
    color: var(--boja-tekst-tiho);
    margin-top: 2px;
}

body.astracia .tabela-checklist .k-faza {
    white-space: nowrap;
    color: var(--boja-tekst-2);
    font-size: 12.5px;
}

body.astracia .tabela-checklist .k-sta {
    min-width: 200px;
    max-width: 290px;
}

body.astracia .tabela-checklist .k-alati {
    min-width: 160px;
    max-width: 220px;
    font-size: 12.5px;
    color: var(--boja-tekst-2);
}

body.astracia .tabela-checklist .k-trosak {
    max-width: 130px;
    font-family: var(--mono);
    font-size: 12px;
    color: var(--boja-tekst-2);
}

body.astracia .tabela-checklist .k-vrednost {
    white-space: nowrap;
    font-size: 12px;
}

body.astracia .tabela-checklist .k-napomena {
    min-width: 200px;
    max-width: 300px;
    font-size: 12.5px;
    color: var(--boja-tekst-2);
}

body.astracia .chip.prio-MUST { background: #fde68a; color: #5b3a00; }
body.astracia .chip.prio-HIGH { background: var(--boja-info-pozadina); color: var(--boja-info-tekst); }
body.astracia .chip.prio-MEDIUM { background: #e9edf5; color: #3b4660; }
body.astracia .chip.prio-LOW,
body.astracia .chip.prio-SKIP { background: #f1f3f7; color: #6b7488; }

body.astracia .status-forma {
    margin: 0;
}

body.astracia select.status-izbor {
    width: auto;
    min-width: 128px;
    padding: 4px 28px 4px 8px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 8px;
}

body.astracia select.status-izbor.s-done { background-color: var(--boja-uspeh-pozadina); color: var(--boja-uspeh-tekst); border-color: transparent; }
body.astracia select.status-izbor.s-prog { background-color: var(--boja-upozorenje-pozadina); color: var(--boja-upozorenje-tekst); border-color: transparent; }
body.astracia select.status-izbor.s-bad { background-color: var(--boja-greska-pozadina); color: var(--boja-greska-tekst); border-color: transparent; }
body.astracia select.status-izbor.s-pause { background-color: #f7f9f9; color: #536471; border-color: transparent; }

body.astracia .checklist-statusi {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    margin-top: -6px;
}

body.astracia button.checklist-status-kartica {
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
    width: 100%;
    appearance: none;
    background: var(--boja-panel);
}

body.astracia button.checklist-status-kartica:hover,
body.astracia button.checklist-status-kartica.aktivan {
    border-color: var(--boja-akcent);
    box-shadow: var(--senka-s);
}

body.astracia .checklist-status-kartica.st-DONE .broj,
body.astracia .checklist-status-kartica.st-APPROVED .broj { color: var(--boja-uspeh-tekst); }
body.astracia .checklist-status-kartica.st-RESEARCHING .broj { color: var(--boja-upozorenje-tekst); }
body.astracia .checklist-status-kartica.st-REJECTED .broj,
body.astracia .checklist-status-kartica.st-BLOCKED .broj { color: var(--boja-greska-tekst); }
body.astracia .checklist-status-kartica.st-PAUSED .broj { color: var(--boja-tekst-2); }

body.astracia .checklist-bedzevi {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--boja-ivica);
}

body.astracia .checklist-bedz {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 4px 10px;
    border: 1px solid var(--boja-ivica);
    border-radius: 999px;
    background: var(--boja-panel);
    color: var(--boja-tekst-2);
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

body.astracia .checklist-bedz .broj {
    min-width: 1.25em;
    font-variant-numeric: tabular-nums;
    font-family: var(--mono);
}

body.astracia .checklist-bedz:hover,
body.astracia .checklist-bedz.aktivan {
    border-color: transparent;
}

body.astracia .checklist-bedz.st-DONE { background: var(--boja-uspeh-pozadina); color: var(--boja-uspeh-tekst); }
body.astracia .checklist-bedz.st-APPROVED { background: var(--boja-uspeh-pozadina); color: var(--boja-uspeh-tekst); }
body.astracia .checklist-bedz.st-RESEARCHING { background: var(--boja-upozorenje-pozadina); color: var(--boja-upozorenje-tekst); }
body.astracia .checklist-bedz.st-REJECTED,
body.astracia .checklist-bedz.st-BLOCKED { background: var(--boja-greska-pozadina); color: var(--boja-greska-tekst); }
body.astracia .checklist-bedz.st-PAUSED { background: #f7f9f9; color: #536471; }

body.astracia .checklist-bedz.aktivan {
    box-shadow: 0 0 0 2px var(--boja-akcent);
}

body.astracia .checklist-sklonjene {
    margin-top: 22px;
}

body.astracia .checklist-skup {
    margin-top: 18px;
}

body.astracia .checklist-skup-prazno {
    margin: 0;
    padding: 12px 16px;
}

body.astracia .tabela-checklist tr[data-status="DONE"] td,
body.astracia .tabela-checklist tr[data-status="APPROVED"] td {
    background: var(--boja-uspeh-pozadina);
}

body.astracia .tabela-checklist tr[data-status="RESEARCHING"] td,
body.astracia .tabela-checklist tr[data-status="IN_PROGRESS"] td,
body.astracia .tabela-checklist tr[data-status="SUBMITTED"] td {
    background: var(--boja-upozorenje-pozadina);
}

body.astracia .tabela-checklist tr[data-status="REJECTED"] td,
body.astracia .tabela-checklist tr[data-status="BLOCKED"] td {
    background: var(--boja-greska-pozadina);
}

body.astracia .tabela-checklist tr[data-status="PAUSED"] td,
body.astracia .tabela-checklist tr[data-status="SKIP"] td {
    background: #f7f9f9;
}

body.astracia .checklist-fusnota {
    font-size: 12px;
    max-width: 90ch;
    margin: 20px 0 0;
}

@media (max-width: 720px) {
    body.astracia .checklist-alatke {
        position: static;
    }

    body.astracia .tabela-checklist {
        min-width: 0;
    }

    body.astracia .tabela-checklist,
    body.astracia .tabela-checklist thead,
    body.astracia .tabela-checklist tbody,
    body.astracia .tabela-checklist tr,
    body.astracia .tabela-checklist td {
        display: block;
    }

    body.astracia .tabela-checklist thead {
        display: none;
    }

    body.astracia .tabela-checklist tr {
        padding: 10px 12px;
        border-bottom: 1px solid var(--boja-ivica);
    }

    body.astracia .tabela-checklist td {
        padding: 3px 0;
        border: 0;
        max-width: none;
        min-width: 0;
    }

    body.astracia .tabela-checklist td::before {
        content: attr(data-l);
        display: block;
        font-size: 10px;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--boja-tekst-tiho);
        margin-top: 6px;
    }

    body.astracia .tabela-checklist td.k-stavka::before,
    body.astracia .tabela-checklist td.k-prioritet::before {
        display: none;
    }
}

/* 7. 10. 2026: tanja traka filtera bez naslova i poruke za prijavu; poruka o čuvanju se vidi samo kad postoji. */
body.astracia .checklist-note:empty { display: none; }
body.astracia .checklist-note { margin: 0 0 10px; font-size: 13px; color: var(--boja-tekst-tiho); }
body.astracia .checklist-alatke { padding: 8px 12px; border-radius: 12px; }
body.astracia .checklist-alatke .filteri { gap: 8px 10px; flex-wrap: wrap; }
body.astracia .checklist-alatke .filteri label { font-size: 11.5px; font-weight: 600; color: var(--boja-tekst-tiho); gap: 2px; }
body.astracia .checklist-alatke .filteri select, body.astracia .checklist-alatke .filteri input { padding: 6px 8px; font-size: 13px; min-height: 0; border-radius: 8px; }
body.astracia .checklist-alatke .filteri select { max-width: 170px; }
body.astracia .checklist-alatke .filteri label.raste { flex: 1 1 200px; }
body.astracia .checklist-alatke .filteri button { padding: 7px 12px; font-size: 13px; }
body.astracia .checklist-alatke .filteri a { font-size: 12.5px; }
body.astracia .checklist-alatke [data-checklist-summary] { margin: 6px 0 0; font-size: 12.5px; color: var(--boja-tekst-tiho); }
body.astracia .checklist-alatke [data-checklist-summary]:empty { display: none; }
body.astracia .checklist-alatke .brojac-prikaza { padding: 4px 0 0; }

/* 8. 10. 2026 — telefon: zadatak je sklopljen (naziv, prioritet, status); klik na naziv otvara „što uraditi“, alate, cenu i napomenu. */
@media (max-width: 640px) {
    body.astracia .tabela-checklist tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "item prio" "status status" "more more"; gap: 6px 10px; align-items: center; padding: 12px 12px; }
    body.astracia .tabela-checklist td.k-stavka { grid-area: item; cursor: pointer; padding-right: 22px; position: relative; }
    body.astracia .tabela-checklist td.k-stavka::after { content: "⌄"; position: absolute; right: 2px; top: 2px; font-size: 16px; color: var(--boja-tekst-tiho); transition: transform .15s; }
    body.astracia .tabela-checklist tr.is-open td.k-stavka::after { transform: rotate(180deg); }
    body.astracia .tabela-checklist td.k-prioritet { grid-area: prio; }
    body.astracia .tabela-checklist td.k-status { grid-area: status; }
    body.astracia .tabela-checklist td.k-status::before { display: none; }
    body.astracia .tabela-checklist td.k-status select { min-height: 40px; width: 100%; }
    body.astracia .tabela-checklist td.k-faza, body.astracia .tabela-checklist td.k-sta, body.astracia .tabela-checklist td.k-alati,
    body.astracia .tabela-checklist td.k-trosak, body.astracia .tabela-checklist td.k-napomena { display: none; grid-area: auto; grid-column: 1 / -1; }
    body.astracia .tabela-checklist tr.is-open td.k-faza, body.astracia .tabela-checklist tr.is-open td.k-sta, body.astracia .tabela-checklist tr.is-open td.k-alati,
    body.astracia .tabela-checklist tr.is-open td.k-trosak, body.astracia .tabela-checklist tr.is-open td.k-napomena { display: block; }
    body.astracia .checklist-oblast .oblast-glava { position: sticky; top: 0; background: var(--boja-pozadina); z-index: 2; padding: 8px 0; }
}
@media (max-width: 640px) {
    body.astracia .tabela-checklist td.k-status select { box-sizing: border-box; max-width: 100%; }
    body.astracia .tabela-checklist tr.is-open td { background: transparent; padding: 2px 0; }
    body.astracia .tabela-checklist td.k-faza::before, body.astracia .tabela-checklist td.k-sta::before, body.astracia .tabela-checklist td.k-alati::before,
    body.astracia .tabela-checklist td.k-trosak::before, body.astracia .tabela-checklist td.k-napomena::before { display: block; font-size: 10.5px; margin-top: 8px; }
    body.astracia .tabela-checklist td.k-faza::before { content: "Phase"; } body.astracia .tabela-checklist td.k-sta::before { content: "What to do"; }
    body.astracia .tabela-checklist td.k-alati::before { content: "Recommended tools"; } body.astracia .tabela-checklist td.k-trosak::before { content: "Cost"; }
    body.astracia .tabela-checklist td.k-napomena::before { content: "Notes"; }
}
@media (max-width: 640px) { body.astracia .tabela-checklist td.k-status { padding-right: 14px; } body.astracia .tabela-checklist tr { padding-right: 16px; } }
@media (max-width: 640px) { body.astracia .tabela-checklist, body.astracia .public-checklist-table { min-width: 0 !important; width: 100%; } body.astracia .checklist-oblast .tabela-omotac { overflow: visible; } }

/* 8. 10. 2026 — „Recommended tools“: alati jedan ispod drugog, svaki sa ikonicom sajta i linkom. */
body.astracia .tool-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
body.astracia .tool-link { display: inline-flex; align-items: center; gap: 8px; color: #1d9bf0; font-weight: 500; line-height: 1.3; }
body.astracia .tool-icon { width: 18px; height: 18px; border-radius: 4px; flex: none; background: #f7f9f9; }
body.astracia .tabela-checklist .k-alati { max-width: 240px; }
body.astracia .tool-plain { display: inline-flex; align-items: center; gap: 8px; color: var(--boja-tekst-tiho); }
body.astracia .tool-plain::before { content: "·"; width: 18px; text-align: center; color: var(--boja-tekst-slabo); }

/* 8. 10. 2026: traka filtera u jednom redu na svakoj širini — polja dele širinu, polje pretrage dvostruko; bez „Reset filters“. */
body.astracia .checklist-alatke .filteri { flex-wrap: nowrap; gap: 8px; align-items: end; }
body.astracia .checklist-alatke .filteri label { flex: 1 1 0; min-width: 0; }
body.astracia .checklist-alatke .filteri label.raste { flex: 2 1 0; }
body.astracia .checklist-alatke .filteri select, body.astracia .checklist-alatke .filteri input { width: 100%; max-width: none; min-width: 0; height: 32px; box-sizing: border-box; padding: 0 8px; }
body.astracia .checklist-alatke .filteri button { flex: none; height: 32px; padding: 0 14px; }
body.astracia [data-account-checklist].is-guest td.k-status { cursor: pointer; }
body.astracia [data-account-checklist].is-guest .status-izbor { pointer-events: none; opacity: .7; }
@media (max-width: 720px) {
    body.astracia .checklist-alatke .filteri { flex-wrap: wrap; }
    body.astracia .checklist-alatke .filteri label { flex: 1 1 45%; }
    body.astracia .checklist-alatke .filteri label.raste { flex: 1 1 100%; }
}
