/* Vlastní styly nad Pico.css */
:root { --pico-font-size: 100%; }
.brand { font-weight: 700; }
form.inline { margin: 0; }
button.link {
  background: none; border: none; padding: 0; margin: 0;
  color: var(--pico-primary); width: auto; cursor: pointer;
}
.login { max-width: 24rem; margin: 3rem auto; }
.msg { padding: .5rem .75rem; border-radius: var(--pico-border-radius); background: var(--pico-card-sectioning-background-color); }
.msg-error { background: #fde8e8; color: #9b1c1c; }
.msg-success { background: #e6f4ea; color: #1e6b34; }
.tabs { display: flex; justify-content: flex-start; gap: .5rem; margin-bottom: 1rem; flex-wrap: wrap; }
.tabs a { padding: .4rem .9rem; border-radius: 999px; text-decoration: none; border: 1px solid var(--pico-muted-border-color); }
.tabs a[aria-current="page"] { background: var(--pico-primary-background); color: var(--pico-primary-inverse); border-color: transparent; }
.entry-form { max-width: 32rem; }
small.error { color: #b42318; }
table.compact td { padding: .35rem .5rem; font-size: .9rem; }
.num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.muted { color: var(--pico-muted-color); }

/* --- Portfolio --- */
:root {
  --good: #0ca30c; --warning: #fab219; --critical: #d03b3b;
  --pos-text: #006300; --neg-text: #b42318; --series: #2a78d6;
}
h1 { margin-bottom: 1rem; }
.neg { color: var(--neg-text); }
.pos { color: var(--pos-text); }
.small { font-size: .875rem; }

.tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .75rem; margin-bottom: 1.5rem; }
.tile { display: flex; flex-direction: column; gap: .15rem; padding: .9rem 1rem; border-radius: var(--pico-border-radius);
        background: var(--pico-card-background-color); box-shadow: var(--pico-card-box-shadow); }
.tile-label { font-size: .8rem; color: var(--pico-muted-color); }
.tile-value { font-size: 1.4rem; font-weight: 600; }
.tile.hero .tile-value { font-size: 2.2rem; }
.tile-note { font-size: .8rem; color: var(--pico-muted-color); }
@media (min-width: 768px) { .tiles { grid-template-columns: 2fr 1fr 1fr; } }

.waiting { margin-bottom: 1.5rem; }
.decision { border-left: 4px solid var(--good); padding: .75rem 1rem; margin-bottom: .75rem; }
.decision.kill { border-left-color: var(--critical); }
.decision ul { margin: .25rem 0 .5rem; font-size: .9rem; }
.decision p { margin-bottom: .25rem; }

.cards { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 768px) { .cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .cards { grid-template-columns: repeat(3, 1fr); } }
.card { margin: 0; padding: 1rem; display: flex; flex-direction: column; gap: .5rem; }
.card > header { display: flex; justify-content: space-between; align-items: flex-start; gap: .5rem;
                 margin: -1rem -1rem 0; padding: .9rem 1rem .6rem; }
.card h3 { margin: 0; font-size: 1.1rem; }
.phase { font-size: .8rem; color: var(--pico-muted-color); }
.light { font-size: .8rem; font-weight: 600; white-space: nowrap; padding: .15rem .55rem; border-radius: 999px;
         border: 1px solid currentColor; }
.light .dot { font-size: .7rem; }
.light-green { color: var(--pos-text); } .light-green .dot { color: var(--good); }
.light-yellow { color: #8a5a00; } .light-yellow .dot { color: var(--warning); }
.light-red { color: var(--neg-text); } .light-red .dot { color: var(--critical); }
.light-grey { color: var(--pico-muted-color); }
.reasons { font-size: .85rem; margin: 0; color: var(--pico-muted-color); }
.tech { margin: 0; font-size: .9rem; } .tech a { color: var(--neg-text); }

.money, .facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: .35rem .75rem; margin: 0; }
.money div, .facts div { display: flex; flex-direction: column; }
.money dt, .facts dt { font-size: .75rem; color: var(--pico-muted-color); font-weight: normal; margin: 0; }
.money dd, .facts dd { margin: 0; font-weight: 600; }

.traffic-head { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .25rem; font-size: .85rem; }
.spark { width: 100%; height: 48px; display: block; margin-top: .25rem; }
.spark polyline { fill: none; stroke: var(--series); stroke-width: 2px; vector-effect: non-scaling-stroke;
                  stroke-linejoin: round; stroke-linecap: round; }
.spark .base { stroke: var(--pico-muted-border-color); stroke-width: 1px; vector-effect: non-scaling-stroke; }
.spark .hits rect { fill: transparent; }
.spark .hits rect:hover { fill: rgba(42, 120, 214, .12); }
.spark-empty { font-size: .8rem; color: var(--pico-muted-color); margin: .25rem 0; }
.axis-note { font-size: .7rem; color: var(--pico-muted-color); }

.criteria summary { font-size: .85rem; }
.criteria ul { font-size: .85rem; margin-bottom: .5rem; }
.criteria-target { font-size: .85rem; margin: .25rem 0 0; }
.card-actions { display: flex; gap: 1rem; margin-top: auto; padding-top: .5rem; font-size: .85rem;
                border-top: 1px solid var(--pico-muted-border-color); }

/* Mobil: navigace se zalomí místo přetečení, menší čísla v dlaždicích */
header.container nav { flex-wrap: wrap; }
header.container nav ul { flex-wrap: wrap; }
@media (max-width: 575px) {
  header.container nav ul:first-child { display: none; }
  header.container nav ul { margin: 0 auto; }
  header.container nav li { padding: .5rem .45rem; }
  .tiles { grid-template-columns: 1fr 1fr; }
  .tile.hero { grid-column: 1 / -1; }
  .tile.hero .tile-value { font-size: 1.9rem; }
  .tile-value { font-size: 1.15rem; }
}

/* --- Provoz --- */
.ops-summary { margin-bottom: 1rem; }
.issues { list-style: none; padding: 0; margin: 0; font-size: .9rem; }
.issues li { padding: .2rem 0; list-style: none; }
.issues .sev-critical span { color: var(--critical); }
.issues .sev-warning span { color: var(--warning); }
.ops-table { margin: 0; }
.ops-table th { font-weight: normal; font-size: .85rem; color: var(--pico-muted-color); padding: .3rem .5rem; }
.ops-table tr.bad td { color: var(--neg-text); font-weight: 600; }

/* --- Finance --- */
.subs { padding: 1rem; }
.subs > header { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem;
                 margin: -1rem -1rem .5rem; padding: .75rem 1rem; }
.subs h3 { margin: 0; font-size: 1.05rem; }
.subs table { margin: 0; }
tr.renewal td { background: #fff6e0; }
@media (max-width: 575px) { .hide-mobile { display: none; } }
.nowrap { white-space: nowrap; }
.small-btn { padding: .3rem .8rem; font-size: .85rem; width: auto; margin: 0; }
.settlement { margin-bottom: 1.5rem; }
.bank-tx { padding: .75rem 1rem; margin-bottom: .75rem; }
.bank-tx > header { display: flex; justify-content: space-between; gap: .75rem; margin: -.75rem -1rem .5rem; padding: .6rem 1rem; }
.bank-tx select, .bank-tx input.pattern { margin-bottom: .4rem; padding: .35rem .6rem; font-size: .9rem; height: auto; }
.bank-tx .actions { display: flex; gap: .5rem; }
@media (min-width: 768px) { .tiles:has(> :nth-child(4)) { grid-template-columns: 2fr 1fr 1fr 1fr; } }

/* --- Rozhodnutí --- */
.decision.todo { border-left-color: var(--warning); }
.decision.review { border-left-color: var(--series); }
.decision.outcome { border-left-color: var(--series); }
.decision form input[type="text"] { margin-bottom: .4rem; }
.position { padding: .75rem 1rem; margin-bottom: .75rem; }
.position p { margin-bottom: .25rem; }
.evidence { border-left: 2px solid var(--pico-muted-border-color); padding-left: .75rem; }
.mine-todo { list-style: none; padding: 0; }
.mine-todo li { list-style: none; padding: .15rem 0; }
