/* Avtopilot — zaslon samodejnih nalog. Nalog namenoma NI med chati: chati so
   pogovori, naloge so delo, ki teče brez tebe.
   Barve so iz skupne palete v osnova.css — nobene svoje. */
/* Zaslon je svoj okvir (kot #arhiv in #pregled): glava stoji, vsebina drsi znotraj.
   Brez tega je `#avtopilot` visok kot vsebina, drsi cel dokument in plast
   (podrobnosti, obrazec) — ki je `position: absolute` — se veže na okno,
   zato je visoka le en zaslon in pod njo od spodaj pokuka seznam nalog. */
#avtopilot { display: flex; flex-direction: column; height: 100dvh; position: relative; background: var(--bg); }
#avtopilot > .term-head { flex-shrink: 0; }

/* Glava plošče, ko teče vsaj ena naloga: značka + ime/podnaslov + status pilula +
   '+' gumb. Ko nič ne teče, so vsi [hidden] in ostane gol napis "Avtopilot" —
   glej izrisiApGlava() v avtopilot.js.
   Naslov je ABSOLUTNO centriran čez celo glavo, da ostane na sredini ne glede na
   to, ali sta desno vidna status pilula in '+'. Prej je bil v flex:1 celici in ga
   je desna stran (pilula + '+') potisnila levo od sredine. Bočna vsebina (nazaj,
   značka levo; status, '+' desno) teče pod njim; max-width mu pusti dovolj zraka,
   da se z njo ne prekriva. */
/* Glavo drži pokonci lastna min-height: ko nič ne teče (in v novem videzu, kjer
   je še 'nazaj' skrit), so vsi flex otroci [hidden] in glava bi se sesedla na
   višino paddinga — gol napis "Avtopilot" (absolutno pozicioniran) bi pri tem
   pomolil čez vrhnji rob. Rezerva je nad varnim območjem (notch), ne vanj. */
#avtopilot > .term-head { position: relative; min-height: calc(3.5rem + env(safe-area-inset-top)); }
#avtopilot > .term-head .glava-razmik { display: none; }
#ap-glava-znak { flex: 0 0 auto; display: flex; color: var(--green-bright); }
#ap-glava-tekst {
  position: absolute; left: 50%; transform: translateX(-50%);
  /* Navpično zasidran pod varnim območjem (ne na static vrh paddinga), da napis
     sede nižje in se ne dotika roba zaslona. */
  top: calc(0.95rem + env(safe-area-inset-top));
  min-width: 0; max-width: calc(100% - 13rem);
  display: flex; flex-direction: column; align-items: center; text-align: center;
}
#ap-glava-tekst .term-ime { flex: none; max-width: 100%; }
#ap-glava-status { margin-left: auto; }
.ap-glava-pod {
  font-size: 0.7rem; font-weight: 500; color: var(--muted); max-width: 100%;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ap-glava-status {
  flex: 0 0 auto; font-size: 0.7rem; font-weight: 700; padding: 0.2rem 0.55rem;
  border-radius: 99px; background: var(--card); border: 1px solid var(--line);
}
.ap-vsebina { padding: 0.9rem 0.85rem 5rem; overflow-y: auto; flex: 1; min-height: 0; background: var(--bg); }

.ap-vsebina .btn-primary { margin-bottom: 0.7rem; }
#ap-urnik { width: 100%; margin-bottom: 1.1rem; }

/* --- vrstica naloge --- */
/* Vrstice so namenoma nizke in VSE enako visoke: naslov in vrstica podatkov sta
   vsak v eni sami vrstici (tropičje ob predolgem), zato dolg naslov ali kup značk
   ne dvigne kartice nad sosednje v mreži. */
.ap-kartica {
  display: flex; gap: 0.6rem; align-items: center; width: 100%; text-align: left;
  background: var(--card); border: 1px solid var(--line); border-radius: 11px;
  padding: 0.6rem 0.72rem; margin-bottom: 0.5rem; cursor: pointer; color: inherit;
  transition: background 0.14s, border-color 0.14s;
}
.ap-kartica:active { background: var(--card-hover); }
@media (hover: hover) {
  .ap-kartica:hover { background: var(--card-hover); border-color: var(--green); }
}

/* Znak stanja je barvna ploščica, ne le ikona — na seznamu se stanje prebere
   že po barvi, brez branja besedila. Vsako stanje ima svojo barvo: „dela" je
   živo zelena, „končana" umirjena zelena, kar dela in kar je narejeno ni isto. */
.ap-znak {
  flex: 0 0 auto; width: 26px; height: 26px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  background: var(--bg); color: var(--muted);
}
.ap-znak svg { width: 16px; height: 16px; display: block; }
.ap-znak.tece { background: rgba(70, 197, 150, 0.16); color: var(--green-bright); }
.ap-znak.koncana { background: rgba(47, 163, 124, 0.14); color: var(--green); }
.ap-znak.blokirana, .ap-znak.za-potrditev { background: rgba(224, 177, 85, 0.15); color: #e0b155; }
.ap-telo { min-width: 0; flex: 1; }
.ap-cilj {
  /* display: block je nujen: cilj je gol <span> (inline) — na inline elementu
     overflow in text-overflow ne delujeta, zato bi se span raztegnil čez kartico
     namesto tropičja. Širino omeji starš (.ap-telo min-width: 0). */
  display: block;
  font-size: 0.95rem; font-weight: 500; line-height: 1.4; color: var(--text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* V podrobnostih je cilj Janovo večstavčno besedilo, ne naslov v seznamu —
   ne sme se rezati na eno vrstico. Izpiši ga kot prozo (markdown), po vzoru
   .ap-porocilo. */
#ap-p-cilj {
  white-space: normal; overflow: visible; text-overflow: clip;
  font-size: 0.9rem; font-weight: 400; line-height: 1.55;
}
#ap-p-cilj p { margin: 0.45rem 0; }
#ap-p-cilj ul, #ap-p-cilj ol { margin: 0.35rem 0 0.5rem; padding-left: 1.1rem; }
#ap-p-cilj li { margin: 0.15rem 0; }
#ap-p-cilj code {
  background: var(--bg2); border-radius: 4px; padding: 0.05rem 0.3rem; font-size: 0.85em;
}
#ap-p-cilj > :first-child { margin-top: 0; }
#ap-p-cilj > :last-child { margin-bottom: 0; }

/* Priloge naloge: slike v drsni trak (+ gumb Galerija), ostalo kot vrstice —
   isti gradniki kot izdelki (.ap-galerija, .ap-izdelek). */
#ap-p-priloge:empty { display: none; }
#ap-p-priloge { margin-bottom: 0.4rem; }
.ap-pod {
  margin-top: 0.28rem; font-size: 0.72rem; color: var(--muted);
  display: flex; align-items: center; gap: 0.45rem; flex-wrap: nowrap;
  min-width: 0; overflow: hidden;
}
.ap-pod > span { flex: 0 0 auto; }
/* Pika med golimi podatki (krog, poraba), da se ne zlijejo v eno vrstico. */
.ap-pod > span:not([class]) + span:not([class])::before {
  content: '·'; margin-right: 0.45rem; color: var(--muted); opacity: 0.55;
}
.ap-stanje { font-weight: 600; color: var(--muted); }
.ap-stanje.tece { color: var(--green-bright); }
.ap-stanje.koncana { color: var(--green); }
.ap-stanje.blokirana, .ap-stanje.za-potrditev { color: #e0b155; }
.ap-znacka {
  border-radius: 6px; padding: 0.1rem 0.45rem; background: var(--bg2);
  border: 1px solid var(--line); color: var(--text); font-size: 0.72rem;
}
.ap-znacka.visoka { background: #3a231f; border-color: #5b3128; color: #f3b9a8; }
.ap-znacka.nizka { background: #1b2630; border-color: #2b3a49; color: #b8cfe2; }
/* Vizualno ločeno: Janova naloga (brez značke) proti predlogu, ki ga je Claude
   predlagal sam (glej polje izvor) — drugačna barva, da je izvor jasen na prvi pogled. */
.ap-znacka.predlog { background: #2a1f3a; border-color: #4a3768; color: #d7bdf7; }

/* --- plast čez seznam (obrazec, podrobnosti) --- */
.ap-plast { position: absolute; inset: 0; background: var(--bg); display: flex; flex-direction: column; z-index: 3; }
.ap-plast-telo { padding: 0.9rem 0.85rem 1.4rem; overflow-y: auto; flex: 1; }

/* --- podrobnosti naloge: zavihki (Pregled / Poteze / Nastavitve) --- */
.ap-zavihki {
  display: flex; gap: 0.3rem; flex: 0 0 auto;
  padding: 0.4rem 0.85rem 0; border-bottom: 1px solid var(--line); background: var(--bg);
}
.ap-zavihek {
  flex: 1; background: transparent; border: 0; border-bottom: 2px solid transparent;
  color: var(--muted); font: inherit; font-size: 0.82rem; font-weight: 650;
  padding: 0.55rem 0.4rem; cursor: pointer; transition: color 0.12s ease, border-color 0.12s ease;
}
.ap-zavihek.on { color: var(--green-bright); border-color: var(--green-bright); }
@media (hover: hover) { .ap-zavihek:not(.on):hover { color: var(--text); } }
/* Ožji od ~320 px (npr. zunanji zaslon Galaxy Fold): „Nastavitve" je najdaljša
   oznaka in bi sicer razširila svoj zavihek ter potisnila vrstico čez rob. Zmanjšaj
   robove in pisavo ter pusti vse tri zavihke enako široke; skrajni robni primeri
   dobijo tri pike namesto vodoravnega drsenja. */
@media (max-width: 340px) {
  .ap-zavihki { gap: 0.15rem; padding-left: 0.4rem; padding-right: 0.4rem; }
  .ap-zavihek {
    min-width: 0; padding-left: 0.25rem; padding-right: 0.25rem; font-size: 0.76rem;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
}
.ap-panel[hidden] { display: none; }

/* Pritrjena vrstica dejanj: vedno vidna pod telesom, ne drsi z vsebino. */
.ap-p-pas {
  flex: 0 0 auto; padding: 0.6rem 0.85rem calc(0.6rem + env(safe-area-inset-bottom));
  border-top: 1px solid var(--line); background: var(--bg);
}
.ap-p-pas .ap-dejanja { margin: 0; }

/* --- razčlenitev poraba.poteze: numerična tabela nad opisno časovnico --- */
.ap-poraba-tabela { width: 100%; border-collapse: collapse; margin: 0.2rem 0 0.9rem; font-size: 0.8rem; }
.ap-poraba-tabela caption { text-align: left; color: var(--muted); font-size: 0.74rem; margin-bottom: 0.4rem; }
.ap-poraba-tabela th, .ap-poraba-tabela td {
  padding: 0.35rem 0.5rem; text-align: right; border-bottom: 1px solid var(--line);
}
.ap-poraba-tabela thead th { color: var(--muted); font-weight: 600; }
.ap-poraba-tabela th:first-child, .ap-poraba-tabela td:first-child { text-align: left; }
.ap-poraba-tabela tbody th, .ap-poraba-tabela tbody td { color: var(--text); font-variant-numeric: tabular-nums; }
.ap-poraba-tabela tfoot th, .ap-poraba-tabela tfoot td { color: var(--text); font-weight: 600; border-bottom: none; }

/* --- časovnica potez: vsaka poteza pove kaj je naredila, ceno in trajanje --- */
.ap-tl { list-style: none; margin: 0.2rem 0 0; padding: 0 0 0 1.35rem; position: relative; }
.ap-tl::before {
  content: ""; position: absolute; left: 4px; top: 8px; bottom: 8px; width: 2px; background: var(--line);
}
.ap-tl li { position: relative; padding: 0.55rem 0; }
.ap-tl li::before {
  content: ""; position: absolute; left: -1.35rem; top: 0.95rem; width: 12px; height: 12px;
  border-radius: 50%; background: var(--bg); border: 2px solid var(--green);
}
.ap-tl li.zdaj::before { border-color: var(--green-bright); box-shadow: 0 0 0 4px rgba(70, 197, 150, 0.18); }
.ap-tl li.caka::before { border-color: var(--line); }
.ap-tl-h { display: flex; align-items: baseline; gap: 0.5rem; flex-wrap: wrap; }
.ap-tl-h b { font-size: 0.9rem; color: var(--text); }
.ap-tl-h .ap-tl-meta { font-size: 0.73rem; color: var(--muted); font-variant-numeric: tabular-nums; }
/* Pravi model in trud poteze („opus · high") — tehnična oznaka ob številki poteze. */
.ap-tl-h .ap-tl-model {
  font-size: 0.68rem; letter-spacing: 0.03em; font-family: var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);
  color: var(--green); background: rgba(70, 197, 150, 0.1);
  border: 1px solid rgba(70, 197, 150, 0.28); border-radius: 999px;
  padding: 0.08rem 0.42rem; white-space: nowrap;
}
/* Poteza ni tekla na izbranem modelu — oznaka to pove že z barvo. */
.ap-tl-h .ap-tl-model.odstop {
  color: #e0b155; background: rgba(224, 177, 85, 0.1); border-color: rgba(224, 177, 85, 0.32);
}
/* Zahtevani trud je bil ponižan (Haiku 4.5 ne pozna xhigh/max). */
.ap-tl-popravek {
  margin: 0.3rem 0 0; font-size: 0.76rem; color: #e0b155; line-height: 1.4;
  display: flex; align-items: flex-start; gap: 0.35rem;
}
.ap-tl-popravek .ap-tl-popravek-ik { flex: 0 0 auto; display: inline-flex; }
.ap-tl-popravek svg { width: 15px; height: 15px; }
.ap-tl-d { margin: 0.25rem 0 0; font-size: 0.84rem; color: var(--muted); line-height: 1.5; white-space: pre-wrap; }
.ap-tl-d .kv { color: #cfe0d6; }
.ap-tl-prev { margin: 0.3rem 0 0; font-size: 0.76rem; color: var(--muted); }
.ap-tl-prev.zelen { color: var(--green); }
.ap-tl-opomba { margin: 0.3rem 0 0; font-size: 0.76rem; color: #e0b155; font-style: italic; }
.ap-tl details { margin: 0.35rem 0 0; }
.ap-tl details > summary {
  font-size: 0.74rem; color: var(--muted); cursor: pointer; list-style: none;
}
.ap-tl details > summary::-webkit-details-marker { display: none; }
.ap-tl details[open] > summary { color: var(--text); }
/* Delni napredek tekoče poteze: trenutni korak + tanek merilnik deleža. */
.ap-tl-korak {
  margin: 0.35rem 0 0; font-size: 0.8rem; color: var(--green-bright);
  display: flex; align-items: center; gap: 0.4rem; line-height: 1.4;
}
.ap-tl-tir {
  margin: 0.35rem 0 0.1rem; height: 5px; border-radius: 999px;
  background: var(--line); overflow: hidden;
}
.ap-tl-pol {
  display: block; height: 100%; border-radius: inherit;
  background: var(--green-bright); transition: width 0.5s ease;
}
.ap-polje { margin-bottom: 1rem; }
.ap-polje label { display: block; font-size: 0.78rem; color: var(--muted); margin-bottom: 0.3rem; }
.ap-polje textarea {
  width: 100%; background: var(--card); border: 1px solid var(--line); border-radius: 11px;
  color: var(--text); padding: 0.6rem 0.65rem; font: inherit; font-size: 0.95rem;
  min-height: 5.5rem; resize: vertical;
}
.ap-polje textarea:focus { outline: none; border-color: var(--green); }

/* Polje cilja z orodji (narek + priloge), kot vnos v chatu. */
.ap-cilj-ovoj { position: relative; }
.ap-cilj-ovoj textarea { padding-right: 5.4rem; }
.ap-cilj-orodja {
  position: absolute; top: 0.45rem; right: 0.45rem;
  display: flex; gap: 0.25rem;
}
.ap-vnos-btn {
  display: flex; align-items: center; justify-content: center;
  width: 2rem; height: 2rem; padding: 0; border-radius: 8px;
  background: var(--bg2); border: 1px solid var(--line); color: var(--muted);
  cursor: pointer;
}
@media (hover: hover) { .ap-vnos-btn:hover { color: var(--text); border-color: var(--green); } }
.ap-vnos-btn.snema { color: var(--green-bright); border-color: var(--green-bright); background: rgba(70, 197, 150, 0.16); }
.ap-vnos-btn.napaka { color: #e5484d; border-color: #e5484d; }
.ap-narek-zivo {
  margin: 0.35rem 0 0; font-size: 0.85rem; color: var(--muted);
  font-style: italic; line-height: 1.4;
}
.ap-spust-plascek {
  position: absolute; inset: 0; display: none;
  align-items: center; justify-content: center;
  border: 2px dashed var(--green); border-radius: 11px;
  background: color-mix(in srgb, var(--green) 12%, var(--bg));
  color: var(--green-bright); font-size: 0.85rem; font-weight: 600;
  pointer-events: none;
}
.ap-cilj-ovoj.spusti .ap-spust-plascek { display: flex; }
.ap-priloge { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.5rem; }
.ap-priloga {
  display: flex; align-items: center; gap: 0.4rem;
  max-width: 100%; padding: 0.3rem 0.5rem;
  background: var(--card); border: 1px solid var(--line); border-radius: 9px;
  font-size: 0.8rem; color: var(--text);
}
.ap-priloga-ik { flex: 0 0 auto; display: flex; color: var(--muted); }
.ap-priloga-ik svg { width: 15px; height: 15px; }
.ap-priloga-ime { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ap-priloga-x {
  flex: 0 0 auto; border: 0; background: transparent; color: var(--muted);
  font-size: 1.1rem; line-height: 1; cursor: pointer; padding: 0 0.1rem;
}
@media (hover: hover) { .ap-priloga-x:hover { color: var(--text); } }

/* Lasten spustni izbirnik: zaprt je videti kot polje, odprti seznam pa je v barvah
   Sove — brez androidovega sistemskega sivega izbirnika z modrimi radijskimi gumbi. */
.ap-izbor { position: relative; }
.ap-izbor-gumb {
  width: 100%; display: flex; align-items: center; gap: 0.5rem;
  background: var(--card); border: 1px solid var(--line); border-radius: 11px;
  color: var(--text); font: inherit; font-size: 0.95rem;
  padding: 0.6rem 0.65rem; cursor: pointer; text-align: left;
}
.ap-izbor-tekst { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ap-izbor-pusc { flex: 0 0 auto; color: var(--muted); transition: transform 0.15s ease; }
.ap-izbor-gumb[aria-expanded="true"] { border-color: var(--green); }
.ap-izbor-gumb[aria-expanded="true"] .ap-izbor-pusc { transform: rotate(180deg); }
.ap-izbor-seznam {
  position: absolute; left: 0; right: 0; top: calc(100% + 0.3rem); z-index: 20;
  background: var(--card); border: 1px solid var(--line); border-radius: 12px;
  padding: 0.3rem; box-shadow: 0 12px 34px rgba(0, 0, 0, 0.5);
  max-height: 15rem; overflow-y: auto; overscroll-behavior: contain;
}
.ap-izbor.gor .ap-izbor-seznam { top: auto; bottom: calc(100% + 0.3rem); }
.ap-izbor-opcija {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 0.6rem;
  background: transparent; border: 0; border-radius: 8px; color: var(--text);
  font: inherit; font-size: 0.92rem; padding: 0.62rem 0.6rem; cursor: pointer; text-align: left;
}
.ap-izbor-opcija svg { flex: 0 0 auto; color: var(--green-bright); }
.ap-izbor-opcija.on { color: var(--green-bright); font-weight: 600; }
.ap-izbor-opcija:active { background: var(--card-hover); }
@media (hover: hover) {
  .ap-izbor-opcija:hover { background: var(--card-hover); }
}
.ap-namig { font-size: 0.76rem; color: var(--muted); margin-top: 0.3rem; line-height: 1.45; }
.ap-polje-oznaka { display: block; font-size: 0.78rem; color: var(--muted); margin-bottom: 0.3rem; }

/* Dejanja: glavni (zeleni) gumb dobi svojo vrstico in polno širino — je naslednji
   korak. Ostali se delijo po dva v vrsto, da je poravnava mirna in ne razmetana. */
.ap-dejanja { display: flex; gap: 0.5rem; flex-wrap: wrap; margin: 0.2rem 0 1.1rem; }
.ap-dejanja button {
  flex: 1 1 calc(50% - 0.25rem); min-width: 7rem; border: 1px solid var(--line); border-radius: 11px;
  background: var(--card); color: var(--text); padding: 0.62rem 0.7rem; font-size: 0.86rem;
  font-weight: 500; cursor: pointer; transition: background 0.12s ease, border-color 0.12s ease;
}
.ap-dejanja button:active { background: var(--card-hover); }
.ap-dejanja button.glavni {
  flex-basis: 100%; background: var(--green); border-color: transparent; color: #06120c;
  font-weight: 650; padding-top: 0.72rem; padding-bottom: 0.72rem;
}
.ap-dejanja button.nevarno { color: var(--danger); border-color: #4a2f2b; }
@media (hover: hover) {
  .ap-dejanja button:hover { background: var(--card-hover); border-color: var(--muted); }
  .ap-dejanja button.glavni:hover { background: var(--green-bright); border-color: transparent; }
  .ap-dejanja button.nevarno:hover { border-color: var(--danger); }
}

.ap-koraki { list-style: none; margin: 0 0 1.1rem; padding: 0; }
.ap-koraki li { display: flex; gap: 0.5rem; padding: 0.28rem 0; font-size: 0.9rem; line-height: 1.35; }
.ap-koraki .kljukica { flex: 0 0 auto; width: 18px; height: 18px; color: var(--green-bright); }
.ap-koraki .kljukica svg { width: 18px; height: 18px; display: block; }
.ap-koraki li.odprt { color: var(--muted); }
.ap-koraki li.odprt .kljukica { color: var(--line); }

/* Predlog naprej je svežanj: cilj in pod njim načrt po točkah, ki ga nova naloga
   podeduje. Koraki so drobni, da cilj ostane vodilna vrstica. */
.ap-predlog-telo { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.ap-predlog-koraki { font-size: 0.76rem; color: var(--muted); line-height: 1.35; }

/* --- nova naloga: en zaslon -------------------------------------------------
   Prej trikoračni čarovnik (Cilj -> Nastavitve -> Pregled). Zdaj je vse v enem
   oknu: cilj zgoraj, polja pod njim, varovalke zložene v <details>, ocena in
   gumb Zaženi na dnu. Nič ni skrito za korakom, ki bi ga bilo treba odkriti. */
.ap-mreza {
  display: grid; gap: 0.7rem 0.6rem; margin-bottom: 0.9rem;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
}
.ap-mreza .ap-polje { margin-bottom: 0; min-width: 0; }
.ap-mreza .ap-polje .ap-namig { margin-top: 0.25rem; }

/* Varovalke: redko spreminjaš, zato zložene. Odprte niso nič drugačne. */
.ap-napredno {
  border: 1px solid var(--line); border-radius: 12px; background: var(--bg2);
  margin-bottom: 0.9rem; overflow: hidden;
}
.ap-napredno > summary {
  display: flex; align-items: center; gap: 0.5rem; cursor: pointer; list-style: none;
  padding: 0.62rem 0.75rem; font-size: 0.84rem; font-weight: 600; color: var(--text);
}
.ap-napredno > summary::-webkit-details-marker { display: none; }
.ap-napredno > summary .ap-napredno-puscica {
  margin-left: auto; width: 18px; height: 18px; color: var(--muted); transition: transform 0.16s ease;
}
.ap-napredno[open] > summary .ap-napredno-puscica { transform: rotate(180deg); }
.ap-napredno[open] > summary { border-bottom: 1px solid var(--line); }
.ap-napredno-telo { padding: 0.8rem 0.75rem 0.2rem; }

/* --- spustni meni ------------------------------------------------------------
   En sam vzorec za vse izbire v obrazcu. Zaprt je videti kot polje z vrednostjo
   in podnapisom, odprt je seznam z razlagami. Sistemskega `<select>` namenoma ni:
   Android ga odpre kot celozaslonski sivi izbirnik, ki ne uboga teme Sove.
   Na telefonu (do 640 px) meni pride z dna kot list — palec ga doseže. */
.ap-dd { position: relative; }
.ap-dd > .ap-dd-sproz {
  width: 100%; display: flex; align-items: center; gap: 0.55rem; text-align: left;
  border: 1px solid var(--line); border-radius: 11px; background: var(--card); color: var(--text);
  padding: 0.55rem 0.6rem 0.55rem 0.7rem; font: inherit; font-size: 0.88rem; font-weight: 550;
  min-height: 2.7rem; cursor: pointer;
}
.ap-dd > .ap-dd-sproz .ap-dd-txt { flex: 1; min-width: 0; }
.ap-dd > .ap-dd-sproz .ap-dd-txt b { display: block; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ap-dd > .ap-dd-sproz .ap-dd-txt small {
  display: block; font-size: 0.72rem; color: var(--muted); margin-top: 0.06rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ap-dd > .ap-dd-sproz .ap-dd-kljun { width: 16px; height: 16px; color: var(--muted); flex: 0 0 auto; transition: transform 0.16s ease; }
.ap-dd.odprt > .ap-dd-sproz { border-color: var(--green); box-shadow: 0 0 0 3px rgba(47, 163, 124, 0.16); }
.ap-dd.odprt > .ap-dd-sproz .ap-dd-kljun { transform: rotate(180deg); }
@media (hover: hover) { .ap-dd > .ap-dd-sproz:hover { background: var(--card-hover); } }

.ap-dd-meni {
  position: absolute; z-index: 40; left: 0; right: 0; top: calc(100% + 0.35rem);
  border: 1px solid var(--line); border-radius: 13px; background: var(--bg2);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.6); padding: 0.3rem; max-height: 17rem; overflow-y: auto;
  animation: apDdV 0.13s ease-out;
}
@keyframes apDdV { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
.ap-dd-meni[hidden] { display: none; }
.ap-opt {
  display: flex; align-items: flex-start; gap: 0.55rem; width: 100%; text-align: left;
  border: 0; background: none; color: var(--text); padding: 0.5rem 0.55rem; border-radius: 9px;
  font: inherit; font-size: 0.86rem; cursor: pointer;
}
.ap-opt:focus-visible { background: var(--card-hover); outline: none; }
@media (hover: hover) { .ap-opt:hover { background: var(--card-hover); } }
.ap-opt .ap-opt-kljuk { width: 17px; height: 17px; flex: 0 0 auto; color: var(--green-bright); opacity: 0; margin-top: 0.08rem; }
.ap-opt[aria-selected="true"] .ap-opt-kljuk { opacity: 1; }
.ap-opt .ap-opt-telo { min-width: 0; flex: 1; }
.ap-opt .ap-opt-telo b { display: block; font-weight: 600; }
.ap-opt .ap-opt-telo small { display: block; font-size: 0.73rem; color: var(--muted); line-height: 1.42; margin-top: 0.1rem; }
.ap-opt .ap-opt-znak {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.72rem; color: var(--muted); flex: 0 0 auto; margin-top: 0.12rem;
}
.ap-dd-skupina {
  font-size: 0.66rem; letter-spacing: 0.11em; text-transform: uppercase; color: var(--muted);
  font-weight: 700; padding: 0.5rem 0.6rem 0.25rem;
}

/* Spodnja vrstica zavihkov je samo telefonska — na monitorju ostane skrita ne
   glede na atribut [hidden], ki ga preklaplja JS med domov/nastavitve/skrito. */
.ap-zavihki-dno { display: none; }

/* Telefon: meni pride z dna kot list, s poltemnim ozadjem čez zaslon. */
@media (max-width: 640px) {
  .ap-dd.odprt::after {
    content: ""; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.55); z-index: 90;
    animation: apDdV 0.15s ease-out;
  }
  /* Ko je v listu (npr. Nastavitve) odprt spustni meni z dna, mora cela plast —
     skupaj z zatemnitvijo in menijem — preiti čez fiksno spodnjo vrstico zavihkov
     (.ap-zavihki-dno, z-index 95). Sicer je meni (position: fixed v plasti z
     z-index 3) ujet pod navigacijo in ta prekrije zadnjo opcijo. */
  .ap-plast:has(.ap-dd.odprt) { z-index: 100; }
  .ap-dd-meni {
    position: fixed; z-index: 100; left: 0; right: 0; top: auto; bottom: 0;
    border-radius: 18px 18px 0 0; max-height: 68vh;
    padding: 0.4rem 0.5rem calc(0.9rem + env(safe-area-inset-bottom));
    animation: apListGor 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  }
  @keyframes apListGor { from { transform: translateY(100%); } to { transform: none; } }
  .ap-dd-meni::before {
    content: ""; display: block; width: 38px; height: 4px; border-radius: 99px;
    background: var(--line); margin: 0.35rem auto 0.5rem;
  }
  .ap-opt { padding: 0.68rem 0.6rem; font-size: 0.92rem; }

  /* Nastavitve avtopilota so na telefonu dosegljive prek zavihka spodaj desno,
     zato povzetkove vrstice na vrhu plošče tu ne rabimo (na namizju, kjer spodnje
     vrstice ni, ostane). */
  #ap-nast-odpri { display: none; }

  /* Spodnja vrstica zavihkov (plošča / naloge / nova naloga / nastavitve) je stalni
     tab-bar — viden tudi na obrazcu nove naloge, v podrobnostih in v nastavitvah.
     Da fiksna vrstica ne prekrije vsebine ali pritrjene vrstice dejanj (.ap-p-pas),
     te plasti končamo točno nad njo (bottom namesto inset: 0). */
  #ap-obrazec, #ap-podrobno, #ap-nastavitve {
    bottom: calc(3.65rem + env(safe-area-inset-bottom));
  }
  .ap-zavihki-dno {
    display: flex; align-items: stretch; position: fixed; left: 0; right: 0; bottom: 0; z-index: 95;
    background: var(--bg2); border-top: 1px solid var(--line);
    box-shadow: 0 -8px 20px rgba(0, 0, 0, 0.35);
    padding: 0.3rem 0.2rem calc(0.3rem + env(safe-area-inset-bottom)); gap: 0;
  }
  .ap-zavihki-dno[hidden] { display: none; }
  /* Vsi štirje zavihki so enako široki (flex: 1 1 0, ne le "1") IN enako visoki
     (align-items: stretch na staršu + fiksen min-height tu) — ne glede na to, da
     so oznake različno dolge ("Naloge" proti "Nova naloga"). */
  .ap-zd {
    flex: 1 1 0; min-width: 0; min-height: 3.05rem;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.18rem;
    border: 1px solid transparent; background: none; color: var(--muted); font: inherit; font-size: 0.64rem;
    line-height: 1.1; padding: 0.3rem 0.15rem; border-radius: 10px;
  }
  .ap-zd span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
  .ap-zd[aria-current="page"] { color: var(--text); background: var(--card); border-color: var(--line); }
  .ap-zd:active { background: var(--card-hover); }
  /* Prostor na dnu domačih panelov (.ap-vsebina sega pod fiksno vrstico); plasti
     so nad njo že skrajšane z `bottom` zgoraj, zato tam te rezerve ne rabimo. */
  #avtopilot:has(.ap-zavihki-dno:not([hidden])) .ap-vsebina { padding-bottom: 4.6rem; }
}

/* Opozorilo pri kombinaciji, ki jo API zavrne (Haiku 4.5 + trud xhigh/max). */
.ap-svarilo {
  display: flex; align-items: flex-start; gap: 0.5rem; margin: 0 0 0.9rem;
  border: 1px solid rgba(224, 160, 74, 0.45); background: rgba(224, 160, 74, 0.08);
  border-radius: 11px; padding: 0.6rem 0.7rem; font-size: 0.8rem; line-height: 1.45; color: var(--text);
}
.ap-svarilo[hidden] { display: none; }
.ap-svarilo svg { flex: 0 0 auto; color: #e0a04a; margin-top: 0.05rem; }

/* Primeri ciljev — klik prednapolni polje / odpre čarovnik s tem ciljem. */
.ap-primeri { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 0.4rem; }
.ap-primer {
  width: 100%; text-align: left; border: 1px solid var(--line); border-radius: 10px;
  background: var(--card); color: var(--text); font: inherit; font-size: 0.85rem;
  padding: 0.55rem 0.65rem; cursor: pointer; line-height: 1.35;
  transition: background 0.12s ease, border-color 0.12s ease;
}
.ap-primer:active { background: var(--card-hover); }
@media (hover: hover) { .ap-primer:hover { background: var(--card-hover); border-color: var(--green); } }

/* Ocena stoji tik nad gumbom Zaženi in se osveži ob vsaki spremembi menija. */
.ap-ocena {
  border: 1px solid rgba(70, 197, 150, 0.4); background: rgba(70, 197, 150, 0.07);
  border-radius: 12px; padding: 0.75rem 0.85rem;
}
.ap-ocena-nas {
  margin: 0 0 0.25rem; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--muted);
}
.ap-ocena-v {
  margin: 0; font-size: 1.05rem; font-weight: 700; color: var(--green-bright);
  font-variant-numeric: tabular-nums;
}
.ap-ocena .ap-namig { margin-top: 0.35rem; }
.ap-napaka { color: var(--danger); }

/* Pritrjeno dno obrazca: en sam gumb Zaženi čez celo širino. */
.ap-o-nav { display: flex; gap: 0.5rem; margin: 0; flex-wrap: nowrap; }
.ap-o-nav button {
  border: 1px solid var(--line); border-radius: 11px; background: var(--card); color: var(--text);
  padding: 0.7rem 0.9rem; font: inherit; font-size: 0.88rem; font-weight: 600; cursor: pointer;
}
.ap-o-nav #ap-o-shrani {
  flex: 1; background: var(--green); border-color: transparent; color: #06120c;
  font-size: 0.92rem; font-weight: 700;
}
.ap-o-nav button[hidden] { display: none; }
@media (hover: hover) {
  .ap-o-nav #ap-o-shrani:hover { background: var(--green-bright); }
}

/* --- bogato prazno stanje --------------------------------------------------- */
.ap-prazno {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: 0.55rem; padding: 1.6rem 1rem 1rem; max-width: 30rem; margin: 0.5rem auto 0;
}
.ap-prazno[hidden] { display: none; }
.ap-prazno-ik {
  width: 3.4rem; height: 3.4rem; border-radius: 14px; display: flex; align-items: center; justify-content: center;
  background: rgba(70, 197, 150, 0.1); color: var(--green-bright); border: 1px solid rgba(70, 197, 150, 0.35);
}
.ap-prazno-ik svg { width: 1.9rem; height: 1.9rem; }
.ap-prazno-nas { margin: 0.2rem 0 0; font-size: 1.02rem; font-weight: 650; color: var(--text); }
.ap-prazno-op { margin: 0; font-size: 0.85rem; color: var(--muted); line-height: 1.55; }
.ap-prazno-pod { margin: 0.5rem 0 0; font-size: 0.78rem; color: var(--muted); align-self: stretch; text-align: left; }
.ap-prazno .ap-primeri { align-self: stretch; }
.ap-prazno-cta { margin-top: 0.4rem; align-self: stretch; }

/* --- izdelki: kaj je naloga naredila ------------------------------------- */
.ap-izdelek {
  display: flex; align-items: center; gap: 0.65rem; width: 100%;
  background: var(--card); border: 1px solid var(--line); border-radius: 12px;
  padding: 0.6rem 0.7rem; margin-bottom: 0.45rem; color: inherit; text-align: left;
}
.ap-izdelek-ik { flex: 0 0 auto; color: var(--muted); display: flex; }
.ap-izdelek-ik svg { width: 20px; height: 20px; }
.ap-izdelek-telo { flex: 1; min-width: 0; }
.ap-izdelek-ime {
  display: block; font-size: 0.88rem; color: var(--text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ap-izdelek-pod { display: block; font-size: 0.72rem; color: var(--muted); margin-top: 0.1rem; }
.ap-izdelek-gumbi { display: flex; align-items: center; gap: 0.4rem; flex: 0 0 auto; }
.ap-mini {
  border: 1px solid var(--line); background: var(--bg2); color: var(--muted);
  border-radius: 9px; padding: 0.38rem 0.62rem; font-size: 0.76rem; font-weight: 500;
  cursor: pointer; transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}
.ap-mini:active { background: var(--card-hover); }
.ap-mini.glavni { background: var(--green); border-color: transparent; color: #06120c; font-weight: 650; }
.ap-mini.nevarno { color: var(--danger); border-color: #4a2f2b; }
@media (hover: hover) {
  .ap-mini:hover { background: var(--card-hover); border-color: var(--muted); color: var(--text); }
  .ap-mini.glavni:hover { background: var(--green-bright); border-color: transparent; color: #06120c; }
}
/* Galerija posnetkov: vodoravni trak z zaskokom (scroll-snap) — med slikami se
   swipa, brez gumba za vsako posebej. Naslednja slika malo pokuka, da je namig
   za drsanje očiten. Tap odpre sliko v polni velikosti. */
.ap-galerija {
  display: flex; gap: 0.5rem; overflow-x: auto; scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain;
  margin-bottom: 0.45rem; padding-bottom: 0.25rem; scrollbar-width: none;
}
.ap-galerija::-webkit-scrollbar { display: none; }
.ap-gpol {
  flex: 0 0 92%; scroll-snap-align: center; display: block;
  border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: var(--bg2);
}
.ap-galerija .ap-gpol:only-child { flex-basis: 100%; }
.ap-gpol img {
  display: block; width: 100%; max-height: 15rem; object-fit: cover; object-position: top;
}
.ap-gal-stev { text-align: center; font-size: 0.74rem; color: var(--muted); margin: 0 0 0.6rem; }
@media (hover: hover) {
  .ap-gpol:hover { border-color: var(--green); }
}

/* --- galerija: mreža sličic ---------------------------------------------- */
/* Trak nad izdelki je le predogled; cela zbirka je v svoji plasti, kot v
   telefonski galeriji — kvadratna mreža, tap odpre ogledovalnik. */
.ap-gal-gumb {
  display: flex; align-items: center; gap: 0.55rem; width: 100%;
  background: var(--card); border: 1px solid var(--line); border-radius: 12px;
  padding: 0.62rem 0.7rem; margin-bottom: 0.45rem; color: var(--text);
  font-size: 0.88rem; font-weight: 550; cursor: pointer; text-align: left;
}
.ap-gal-gumb .ap-izdelek-ik { color: var(--green-bright); }
.ap-gal-gumb .ap-gal-kolicina { margin-left: auto; color: var(--muted); font-weight: 500; font-size: 0.8rem; }
.ap-gal-gumb:active { background: var(--card-hover); }

.ap-gal-mreza {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.4rem;
}
@media (min-width: 700px) { .ap-gal-mreza { grid-template-columns: repeat(5, 1fr); } }
@media (min-width: 1100px) { .ap-gal-mreza { grid-template-columns: repeat(6, 1fr); } }

/* Predogled ne-slikovne priloge: besedilo v okvirju monospace (kot dnevnik),
   dolge vrstice ovijemo, da pri 390 ni vodoravnega drsenja. */
#ap-priloga-pre {
  margin: 0; background: var(--bg2); border: 1px solid var(--line); border-radius: 12px;
  padding: 0.8rem 0.85rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.8rem; line-height: 1.6; color: var(--text); tab-size: 2;
  white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%;
  overflow: auto; overscroll-behavior: contain;
  user-select: text; -webkit-user-select: text;
}
#ap-priloga-prenos { display: inline-flex; align-items: center; margin-top: 0.7rem; text-decoration: none; }
.ap-gal-polje {
  position: relative; aspect-ratio: 1; padding: 0; border: 1px solid var(--line);
  border-radius: 10px; overflow: hidden; background: var(--bg2); cursor: pointer;
}
.ap-gal-polje img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.ap-gal-polje:active { border-color: var(--green); }
@media (hover: hover) { .ap-gal-polje:hover { border-color: var(--green); } }

/* --- ogledovalnik (svetilnik) -------------------------------------------- */
/* Cel zaslon, slika v `contain` (nič obrezovanja), med slikami se swipa po
   vodoravnem traku z zaskokom — isti občutek kot v telefonski galeriji. */
.ap-svetilnik {
  position: fixed; inset: 0; z-index: 60; background: #000;
  display: flex; flex-direction: column;
}
.ap-sv-vrh {
  display: flex; align-items: center; gap: 0.5rem;
  padding: max(0.5rem, env(safe-area-inset-top)) 0.6rem 0.5rem;
  color: #fff; flex: 0 0 auto;
}
.ap-sv-stev { font-size: 0.86rem; color: #cfd6d2; font-variant-numeric: tabular-nums; }
.ap-sv-vrh .ikona-btn { margin-left: auto; color: #fff; }
.ap-sv-tir {
  flex: 1; min-height: 0; display: flex; overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain; scrollbar-width: none;
}
.ap-sv-tir::-webkit-scrollbar { display: none; }
.ap-sv-polje {
  flex: 0 0 100%; scroll-snap-align: center; display: flex;
  align-items: center; justify-content: center; padding: 0 0.4rem;
}
.ap-sv-polje img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.ap-sv-ime {
  flex: 0 0 auto; margin: 0; padding: 0.5rem 0.8rem max(0.6rem, env(safe-area-inset-bottom));
  text-align: center; font-size: 0.76rem; color: #9aa6a0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* Surovi izpisi (preverba, dnevnik, izpis verige) — vsak je svoj vgrezen
   terminalski blok: temnejši od kartic, da se loči od ostale vsebine. Okvir
   .ap-term nad njim doda "okno" (pikice + ime), da je jasno, kaj gledaš, ne le
   siva stena besedila. */
.ap-term {
  border: 1px solid var(--line); border-radius: 12px; overflow: hidden;
  background: linear-gradient(180deg, #0f1613, #0b100e);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}
.ap-term + .ap-term { margin-top: 0.6rem; }
.ap-term-vrh {
  display: flex; align-items: center; gap: 0.4rem; padding: 0.5rem 0.7rem;
  background: rgba(255,255,255,0.02); border-bottom: 1px solid var(--line);
}
.ap-term-p { width: 9px; height: 9px; border-radius: 50%; background: #3a4842; flex: 0 0 auto; }
.ap-term-p:nth-child(1) { background: #e2685c; }
.ap-term-p:nth-child(2) { background: #e0b155; }
.ap-term-p:nth-child(3) { background: #4bbf82; }
.ap-term-ime {
  margin-left: 0.35rem; font-size: 0.72rem; color: var(--muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: 0.02em;
}
.ap-term-zivo {
  margin-left: auto; font-size: 0.68rem; color: var(--green-bright);
  display: flex; align-items: center; gap: 0.35rem;
}
.ap-term-zivo::before {
  content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--green-bright);
  opacity: 0.3;
}

.ap-izpis {
  background: #0b100e; border: none; border-radius: 0;
  padding: 0.8rem 0.85rem; margin: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.8rem; line-height: 1.6; color: #c8dacd; tab-size: 2;
  /* prelom dolgih vrstic: dnevnik je proza, zato raje ovij kot vodoravni drsnik;
     nedeljive nize (poti, ukazi) vseeno prelomi, da ne razlijejo bloka na PC */
  white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%;
  max-height: 45vh; overflow: auto; overscroll-behavior: contain;
  user-select: text; -webkit-user-select: text;
}
.ap-izpis::-webkit-scrollbar { width: 8px; }
.ap-izpis::-webkit-scrollbar-thumb { background: var(--line); border-radius: 4px; }
.ap-izpis + .ap-izpis { margin-top: 0.5rem; }

/* Barve po vlogi vrstice — glej oblikujIzpis() v avtopilot.js. */
.ap-log-poteza { color: #7fd6b8; font-weight: 600; }
.ap-log-sekcija { color: #9cc8ff; font-weight: 600; }
.ap-log-ok { color: var(--green-bright); }
.ap-log-nap { color: #f08a7e; }
.ap-log-opoz { color: #e0b155; }
.ap-log-cas { color: #5c6b64; }

/* Utripajoč kurzor na dnu izpisa verige, dokler naloga res teče — pove, da se
   nekaj dogaja, tudi kadar zadnja vrstica dolgo ne dobi naslednice. */
#ap-p-tek-ovoj.zivo .ap-term-zivo::before { animation: ap-utrip 1.4s ease-in-out infinite; opacity: 1; }
#ap-p-tek-ovoj.zivo .ap-izpis-tek::after {
  content: ''; display: inline-block; width: 7px; height: 1.1em; margin-left: 2px;
  background: var(--green-bright); vertical-align: text-bottom;
  animation: ap-utrip 1s step-start infinite;
}
.ap-naslov-vrstica { display: flex; align-items: center; justify-content: space-between; margin: 1.1rem 0 0.35rem; }
.ap-naslov-mali { font-size: 0.78rem; color: var(--muted); margin: 1.1rem 0 0.35rem; }
.ap-naslov-vrstica .ap-naslov-mali { margin: 0; }

/* Zložljiv razdelek (dnevnik + izpis verige): surov potek dela je za redke primere,
   zato je privzeto zaprt in ne tišči glavne vsebine navzdol. */
.ap-sklop { margin-top: 1.2rem; border-top: 1px solid var(--line); }
.ap-sklop > summary {
  display: flex; align-items: center; gap: 0.4rem; cursor: pointer; list-style: none;
  padding: 0.7rem 0.1rem; font-size: 0.82rem; font-weight: 600; color: var(--muted);
}
.ap-sklop > summary::-webkit-details-marker { display: none; }
.ap-sklop-pusc { width: 15px; height: 15px; flex: 0 0 auto; transition: transform 0.15s ease; }
.ap-sklop[open] > summary .ap-sklop-pusc { transform: rotate(90deg); }
@media (hover: hover) { .ap-sklop > summary:hover { color: var(--text); } }
.ap-sklop-telo { padding-top: 0.2rem; }

/* --- trak na domačem zaslonu --------------------------------------------- */
.ap-trak {
  display: flex; align-items: center; gap: 0.7rem; width: 100%;
  background: var(--card); border: 1px solid var(--line); border-radius: 14px;
  padding: 0.7rem 0.75rem; margin: 0 0 1rem; color: inherit; cursor: pointer; text-align: left;
}
.ap-trak:active { background: var(--card-hover); }
.ap-trak-ik { flex: 0 0 auto; color: var(--muted); display: flex; }
.ap-trak-telo { flex: 1; min-width: 0; }
.ap-trak-ime { display: block; font-size: 0.92rem; font-weight: 600; color: var(--text); }
.ap-trak-stanje {
  display: block; margin-top: 0.1rem; font-size: 0.76rem; color: var(--muted);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ap-trak-pusc { flex: 0 0 auto; color: var(--line); display: flex; }
.ap-trak-pika { flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%; background: var(--green-bright); }

/* Tri stanja traku morajo biti ločljiva že po robu in podlagi, ne le po ikoni:
   mirno (nič ne teče) — nevtralna kartica; dela — zelen pridih; pozor — jantarni. */
.ap-trak.dela {
  border-color: rgba(70, 197, 150, 0.45); background: rgba(70, 197, 150, 0.09);
}
.ap-trak.dela .ap-trak-ik { color: var(--green-bright); }
.ap-trak.dela .ap-trak-stanje { color: var(--green-bright); }
.ap-trak.dela .ap-trak-pika { animation: ap-utrip 1.4s ease-in-out infinite; }
@keyframes ap-utrip { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
.ap-trak.pozor { border-color: #7a5f2a; background: rgba(224, 177, 85, 0.12); }
.ap-trak.pozor .ap-trak-ik, .ap-trak.pozor .ap-trak-stanje { color: #edbb6b; }
.ap-trak.pozor .ap-trak-ime { color: #f0d9a8; }
.ap-trak.pozor .ap-trak-pika { background: #e6b860; animation: none; }

/* Poročilo ob koncu naloge — izvleček, ki ga Jan res prebere (dnevnik je surov potek). */
.ap-porocilo {
  background: var(--bg2); border: 1px solid var(--line); border-radius: 11px;
  padding: 0.7rem 0.8rem; font-size: 0.88rem; line-height: 1.55; color: var(--text);
  user-select: text; -webkit-user-select: text;
}
.ap-porocilo strong { color: var(--green-bright); }
.ap-porocilo ul { margin: 0.3rem 0 0.7rem; padding-left: 1.1rem; }
.ap-porocilo li { margin: 0.15rem 0; }
.ap-porocilo p { margin: 0.4rem 0; }
.ap-porocilo > :first-child { margin-top: 0; }
.ap-porocilo > :last-child { margin-bottom: 0; }

/* Razrešena naloga je opravljen ticket — v seznamu je pridušena. */
.ap-kartica.razresena { opacity: .58; }
#ap-razresene-gumb { margin: 0.4rem 0 0.8rem; }

/* ======================================================================
   Nadzorna plošča — vstopni pogled avtopilota: kaj se dela zdaj, kdo čaka,
   koliko je danes stalo. Vse barve iz osnova.css; jantarna (#e0b155) je že
   ustaljena „pozor" barva avtopilota (glej .ap-znak.blokirana zgoraj).
   ====================================================================== */
.ap-plosca { display: grid; gap: 0.8rem; margin-bottom: 1.1rem; }
.ap-plosca:empty, .ap-plosca[hidden] { display: none; }

/* KPI vrstica: velika številka, majhna oznaka. Zelena = dobro, jantarna = pozor.
   Dve kartici (Zaključenih 7 dni + Uspešnost verige — glej izrisiPlosca), zato
   ostaneta v dveh stolpcih na vseh širinah, ne raztegneta se v štiri prazne. */
.ap-kpi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
/* Barvni trak na vrhu + rahel sij v vogalu — isti vzorec in iste barve kot v
   public/avtopilot-redesign.html (razdelek "KPI ploščice"), da je plošča na
   prvi pogled ločljiva, ne le štiri identične sive škatle. */
.ap-kpi-c {
  position: relative; overflow: hidden;
  border: 1px solid var(--line); border-radius: 12px; padding: 0.6rem 0.7rem; min-width: 0;
  background: radial-gradient(120px 70px at 100% 0%, var(--ap-kpi-sij, rgba(70, 197, 150, 0.1)), transparent 70%), var(--bg2);
}
.ap-kpi-c::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--ap-kpi-trak, linear-gradient(90deg, var(--green), var(--green-bright)));
}
.ap-kpi-c--modra  { --ap-kpi-trak: linear-gradient(90deg, #4f7fb0, var(--modra, #6ea8d8)); --ap-kpi-sij: rgba(110, 168, 216, 0.14); }
.ap-kpi-c--amber  { --ap-kpi-trak: linear-gradient(90deg, #b9862c, #e0b155); --ap-kpi-sij: rgba(224, 177, 85, 0.14); }
.ap-kpi-c--vijola { --ap-kpi-trak: linear-gradient(90deg, #7a5ab2, #c9a6f7); --ap-kpi-sij: rgba(160, 120, 220, 0.14); }
.ap-kpi-n {
  font-size: 1.3rem; font-weight: 700; letter-spacing: -0.02em; color: var(--text);
  font-variant-numeric: tabular-nums; line-height: 1.15;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ap-kpi-n.zelena { color: var(--green-bright); }
.ap-kpi-n.amber { color: #e0b155; }
.ap-kpi-n .e { font-size: 0.78rem; font-weight: 600; color: var(--muted); letter-spacing: 0; }
.ap-kpi-l { font-size: 0.72rem; color: var(--muted); margin-top: 0.1rem; }
/* Trend pod glavno številko (npr. "+4 proti prejšnjemu tednu") + mini graf v
   spodnjem desnem kotu kartice, oboje iz naloga.json (S.metrikeVerige()). */
.ap-kpi-d { font-size: 0.68rem; color: var(--muted); margin-top: 0.15rem; }
.ap-kpi-d.gor { color: var(--green-bright); }
.ap-kpi-spark { position: absolute; right: 0.5rem; bottom: 0.5rem; width: 54px; height: 20px; opacity: 0.65; }
/* Trend na ozkih karticah (telefon) rad zavije v drugo vrstico, ki bi jo sicer
   prekril mini graf spodaj desno (opaženo na 390 px, naloga 0032) — rezerviraj
   mu prostor, da besedilo ostane berljivo. */
.ap-kpi-c:has(.ap-kpi-spark) .ap-kpi-d { padding-right: 3.2rem; }

/* Kartica aktivne naloge — v živo, z obročem napredka. */
/* Kartica ni več sama en gumb — .ap-zdaj-info (ring+cilj, klikljivo v podrobnosti)
   + živ izsek dnevnika + vrstica treh dejanj, glej zdajKartica() v avtopilot.js. */
.ap-zdaj {
  border: 1px solid rgba(70, 197, 150, 0.4);
  background: linear-gradient(135deg, rgba(70, 197, 150, 0.1), rgba(110, 168, 216, 0.06));
  border-radius: 14px; padding: 0.85rem; display: grid; gap: 0.7rem;
}
.ap-zdaj-info {
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.85rem; align-items: center;
  width: 100%; text-align: left; color: inherit; background: none; border: none; padding: 0;
  font: inherit; cursor: pointer; border-radius: 8px;
}
.ap-zdaj-info:active { background: rgba(70, 197, 150, 0.12); }
.ap-zdaj-log {
  max-height: 6.4em; font-size: 0.74rem; padding: 0.55rem 0.65rem; border-radius: 9px;
}
.ap-zdaj-akcije { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ap-zdaj-akcije .ap-mini { flex: 1 1 auto; text-align: center; }
.ap-ring { width: 58px; height: 58px; flex: 0 0 auto; display: block; }
/* Brez podložnega kroga: pri majhnem deležu je bila to le bleda obročasta črta
   (~20 % vidnosti) pod pasico porabe, ki ni nič povedala. Ostane samo napolnjeni
   lok napredka (.val) in odstotek v sredini. */
.ap-ring .track { display: none; }
.ap-ring .val {
  stroke: var(--green-bright); stroke: url(#ap-ring-grad); stroke-linecap: round;
  transform: rotate(-90deg); transform-origin: 50% 50%;
  transition: stroke-dashoffset 0.5s ease;
  filter: drop-shadow(0 0 5px rgba(255, 212, 121, 0.35));
}
.ap-ring text { fill: var(--text); font-size: 9px; font-weight: 700; text-anchor: middle; }
.ap-zdaj-kaj { min-width: 0; }
.ap-zdaj-cilj {
  font-weight: 600; font-size: 0.95rem; color: var(--text);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ap-zdaj-korak {
  font-size: 0.8rem; color: var(--green-bright); margin-top: 0.2rem;
  display: flex; align-items: center; gap: 0.4rem;
}
.ap-zdaj-korak-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ap-puls {
  width: 8px; height: 8px; border-radius: 50%; background: var(--green-bright); flex: 0 0 auto;
  animation: ap-utrip 1.4s ease-in-out infinite;
}
.ap-zdaj-drob {
  font-size: 0.73rem; color: var(--muted); margin-top: 0.3rem;
  display: flex; flex-wrap: wrap; gap: 0.1rem 0.65rem;
}

/* Graf porabe po dnevih + razčlenitev po modelu — glej public/avtopilot-redesign.html
   (razdelek "graf porabe"), postavitev in barve so od tam. */
.ap-plosk { border: 1px solid var(--line); border-radius: 15px; background: var(--bg2); padding: 0.85rem 0.9rem; }
.ap-plosk-glava { display: flex; align-items: baseline; justify-content: space-between; gap: 0.6rem; margin-bottom: 0.6rem; }
.ap-plosk-glava .t { font-size: 0.86rem; font-weight: 650; }
.ap-plosk-glava .p { font-size: 0.72rem; color: var(--muted); font-family: var(--mono, ui-monospace, monospace); }
.ap-graf { width: 100%; height: 132px; display: block; }
.ap-graf-os { stroke: var(--line); stroke-width: 1; }
.ap-graf-os--rahla { stroke-dasharray: 2 4; opacity: 0.55; }
.ap-graf-osl { fill: var(--muted); font-size: 9px; font-family: ui-monospace, monospace; text-anchor: middle; }
.ap-graf-eos { fill: var(--muted); font-size: 9px; font-family: ui-monospace, monospace; }
.ap-graf-v { fill: var(--text); font-size: 9px; font-family: ui-monospace, monospace; text-anchor: middle; }
.ap-graf-stolp { fill: url(#ap-gr-stolp); transition: filter 0.12s; }
.ap-graf-stolp.vrh { fill: url(#ap-gr-stolp-vrh); }
.ap-graf g.b:hover .ap-graf-stolp { filter: brightness(1.18); }

.ap-delez { margin-top: 0.7rem; }
.ap-delez-tr { display: flex; height: 9px; border-radius: 999px; overflow: hidden; gap: 2px; }
.ap-delez-tr i { display: block; height: 100%; border-radius: 2px; }
.ap-delez-leg { margin-top: 0.5rem; display: grid; gap: 0.3rem; }
.ap-delez-leg div { display: flex; align-items: center; gap: 0.45rem; font-size: 0.76rem; color: var(--muted); }
.ap-delez-pika { width: 9px; height: 9px; border-radius: 3px; flex: 0 0 auto; }
.ap-delez-ime { color: var(--text); }
.ap-delez-v { margin-left: auto; font-family: ui-monospace, monospace; color: var(--text); }

/* Pasica porabe limitov Clauda pod glavo avtopilota (#ap-poraba-trak).
   Izris in polling deli s Sovino glavo chata (poraba.js) — isti markup .mer/.palica.
   NA TELEFONU je to enaka tanka statusna vrstica kot na domačem zaslonu Sove
   (#dom-poraba): deljeni slog .poraba-trak / .stanje-vrsta, brez posebnosti tu.
   Prej je imela podlago bg2, oznako razdelka in vsak merilnik svojo vrstico —
   na ozkem zaslonu je brala kot prilepljena črna pasica, ne kot Sovin trak.
   Preoblikovanje v "nadzorno sobo" (public/avtopilot-redesign.html) obdržimo
   samo na NAMIZJU, kjer je pasica široka 960 px in prostora dovolj. */
body.namizje #ap-poraba-trak {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.45rem 1.2rem;
  padding: 0.6rem 0.9rem 0.7rem;
  background: var(--bg2);
}
body.namizje #ap-poraba-trak::before {
  content: "Poraba limitov";
  flex-basis: 100%;
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--muted);
}
body.namizje #ap-poraba-trak .mer {
  width: auto; flex: 1 1 8rem; max-width: 20rem;
  justify-content: flex-start; gap: 0.5rem;
}
/* Na namizju je pasica široka 960 px — brez omejitve bi ena palica pojedla pol vrstice. */
body.namizje #ap-poraba-trak .palica {
  width: auto; flex: 1; min-width: 4rem; max-width: 14rem; height: 7px;
}
body.namizje #ap-poraba-trak .palica u { background: var(--green-bright); opacity: 0.45; box-shadow: none; }
body.namizje #ap-poraba-trak .mer > svg { color: var(--muted); }
body.namizje #ap-poraba-trak .mer-v {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  color: var(--text); font-size: 0.75rem;
}
/* Drobno besedilo časa do ponastavitve okna, desno ob odstotku (naloga 0050). */
body.namizje #ap-poraba-trak .mer-cas {
  flex: 0 0 auto; white-space: nowrap;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.68rem; color: var(--muted);
}

/* Vrsta čakajočih / naloga, ki čaka tebe — ista vrstica kot v dnevnem utripu.
   grid-template-columns: minmax(0, 1fr) + min-width: 0 sta nujna: brez njiju
   privzeti `auto` stolpec dobi za dno najširšo min-content vrstice (dolg naslov
   naloge z white-space: nowrap), zato se je ob VSAKI novi nalogi .ap-vrsta — in z
   njo cela leva kolona plošče z grafi — raztegnila desno izven ekrana (naloga 0036). */
.ap-vrsta { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.35rem; min-width: 0; }
.ap-vrsta:empty { display: none; }
.ap-vr {
  display: flex; align-items: center; gap: 0.5rem; width: 100%; min-width: 0; text-align: left; color: inherit;
  padding: 0.4rem 0.55rem; border: 1px solid var(--line); border-radius: 12px;
  background: var(--bg2); cursor: pointer;
}
.ap-vr:active { background: var(--card-hover); }
.ap-vr-telo { flex: 1; min-width: 0; }
.ap-vr-ime {
  display: block; font-size: 0.8rem; font-weight: 550; color: var(--text);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.ap-vr-pod {
  display: flex; flex-wrap: wrap; gap: 0.1rem 0.55rem; margin-top: 0.06rem;
  font-size: 0.68rem; color: var(--muted);
}
.ap-vr-num { flex: 0 0 auto; font-size: 0.7rem; color: var(--muted); font-variant-numeric: tabular-nums; }

/* Značka stanja v plošči (pill): stanje se prebere po barvi. */
.ap-pill {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: 0.3rem;
  font-size: 0.66rem; font-weight: 650; white-space: nowrap;
  padding: 0.18rem 0.45rem 0.18rem 0.36rem; border-radius: 999px;
  border: 1px solid var(--line); background: var(--bg); color: var(--muted);
}
.ap-pill svg { width: 12px; height: 12px; flex: 0 0 auto; }
.ap-pill.tece { color: var(--green-bright); border-color: rgba(70, 197, 150, 0.4); background: rgba(70, 197, 150, 0.12); }
.ap-pill.caka { color: #a9c3b6; }
.ap-pill.za-potrditev { color: #e0b155; border-color: #7a5f2a; background: rgba(224, 177, 85, 0.12); }
.ap-pill.blokirana { color: var(--danger); border-color: #4a2f2b; background: rgba(224, 106, 90, 0.1); }

/* Dnevni utrip: kaj se je danes zgodilo, brez odpiranja posameznih nalog. */
.ap-utrip-karta {
  border: 1px solid var(--line); border-radius: 14px; background: var(--bg2); padding: 0.8rem 0.9rem;
}
.ap-utrip-naslov {
  display: flex; align-items: center; gap: 0.4rem; margin: 0 0 0.4rem;
  text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.72rem;
}
.ap-utrip-naslov svg { width: 15px; height: 15px; flex: 0 0 auto; }
.ap-utrip { display: grid; }
.ap-ui {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.55rem; align-items: baseline;
  padding: 0.42rem 0; border-top: 1px solid var(--line); font-size: 0.82rem; color: var(--text);
}
.ap-ui:first-child { border-top: 0; }
.ap-ui-ik { width: 16px; height: 16px; color: var(--muted); align-self: center; }
.ap-ui-ik.z { color: var(--green-bright); }
.ap-ui-ik.a { color: #e0b155; }
.ap-ui-ik svg { width: 16px; height: 16px; display: block; }
.ap-ui-b { min-width: 0; }
.ap-ui-b b { font-weight: 600; }
.ap-ui-t { color: var(--muted); font-variant-numeric: tabular-nums; font-size: 0.73rem; flex: 0 0 auto; }

/* Dvostolpčna plošča na namizju: KPI + aktivna naloga + vrsta levo, dnevni utrip
   desno. Na ožjem zaslonu ostane en stolpec (privzeti grid .ap-plosca). */
.ap-plosca-levo { display: grid; gap: 0.8rem; align-content: start; min-width: 0; }
body.namizje .ap-plosca { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: start; }
body.namizje .ap-plosca .ap-utrip-karta { position: sticky; top: 0; }

/* Vrstica „Nastavitve avtopilota" na plošči — puščica desno kaže, da odpre list. */
.nast-vrstica .sv-pusc { flex: 0 0 auto; color: var(--muted); display: flex; align-items: center; }

/* ======================================================================
   Nastavitve avtopilota — lasten list: dnevna meja porabe z jantarnim
   merilnikom in preseljena stikala (nočni urnik, predlogi v naloge).
   ====================================================================== */
.ap-meja { margin-top: 0.2rem; }
.ap-meja-vrh {
  display: flex; justify-content: space-between; align-items: baseline; gap: 0.6rem;
  font-size: 0.82rem; color: var(--muted);
}
.ap-meja-znesek b {
  color: var(--text); font-variant-numeric: tabular-nums; font-weight: 700; font-size: 1.05rem;
}
.ap-meja-od { flex: 0 0 auto; font-variant-numeric: tabular-nums; }
.ap-meja-tir {
  margin-top: 0.4rem; height: 10px; border-radius: 999px;
  background: var(--bg2); border: 1px solid var(--line); overflow: hidden;
}
.ap-meja-pol {
  height: 100%; width: 0; border-radius: inherit; background: #e0b155;
  transition: width 0.4s ease, background 0.2s ease;
}
.ap-meja.blizu .ap-meja-pol { background: var(--opozorilo); }
.ap-meja.polna .ap-meja-pol { background: var(--danger); }
/* Brez dnevne meje prazen merilnik ničesar ne pove — skrij ga. */
.ap-meja.brez .ap-meja-tir { display: none; }
#ap-meja-dd { margin-top: 0.7rem; }
.ap-meja-poljubno { display: flex; gap: 0.4rem; align-items: center; margin-top: 0.4rem; }
.ap-meja-poljubno[hidden] { display: none; }
.ap-meja-poljubno label { font-size: 0.78rem; color: var(--muted); }
.ap-meja-poljubno input {
  width: 5.5rem; border: 1px solid var(--line); border-radius: 11px; background: var(--card);
  color: var(--text); font: inherit; font-size: 0.88rem; padding: 0.5rem 0.6rem;
}
.ap-meja-poljubno input:focus {
  outline: none; border-color: var(--green); box-shadow: 0 0 0 3px rgba(47, 163, 124, 0.16);
}
.ap-meja-poljubno button {
  border: 1px solid var(--line); border-radius: 11px; background: var(--card); color: var(--text);
  font: inherit; font-size: 0.84rem; font-weight: 550; padding: 0.5rem 0.8rem; cursor: pointer;
}
.ap-meja-poljubno button:active { background: var(--card-hover); }
.ap-nast-loci { margin-top: 1.7rem; border-top: 1px solid var(--line); padding-top: 1rem; }

/* Zadržki: čakajoča naloga, ki je veriga sama ne odpre — nezavezano drevo
   aplikacije ali dosežena dnevna meja. Prej je taka naloga tiho obtičala. */
.ap-zadrzki { display: flex; flex-direction: column; gap: 0.6rem; margin: 0 0 1.1rem; }
.ap-zadrzki[hidden] { display: none; }
.ap-zadrzek {
  border: 1px solid var(--line); border-left: 3px solid var(--opozorilo-2);
  background: color-mix(in srgb, var(--opozorilo-2) 10%, var(--card));
  border-radius: 10px; padding: 0.8rem 0.9rem;
}
.ap-zadrzek-glava { display: flex; gap: 0.5rem; align-items: flex-start; }
.ap-zadrzek-glava svg { flex: none; width: 20px; height: 20px; color: var(--opozorilo-2); margin-top: 1px; }
.ap-zadrzek-b { font-weight: 650; line-height: 1.35; }
.ap-zadrzek-t { color: var(--muted); font-size: 0.86rem; margin-top: 0.25rem; }
.ap-zadrzek-dat {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.8rem;
  color: var(--muted); margin-top: 0.4rem; white-space: pre-wrap; word-break: break-all;
}
.ap-zadrzek-akcije { display: flex; gap: 0.5rem; margin-top: 0.75rem; flex-wrap: wrap; }
.ap-zadrzek-akcije button {
  font: inherit; font-size: 0.85rem; padding: 0.45rem 0.85rem; border-radius: 8px;
  border: 1px solid var(--line); background: var(--bg); color: var(--text); cursor: pointer;
}
.ap-zadrzek-akcije button.glavna { background: var(--green); border-color: transparent; color: #fff; }
.ap-zadrzek-akcije button[disabled] { opacity: 0.55; cursor: default; }
