/* Finansijska analiza iz bilansa. Uses the site's CSS variables; fallbacks only for standalone preview. */
.fa {
  --fa-bg: var(--bg, #fff);
  --fa-fg: var(--fg, #111);
  --fa-muted: var(--muted, #5c5c5c);
  --fa-accent: var(--accent, #1f5eff);
  --fa-ink: var(--accent-ink, #006b4f);
  --fa-line: var(--line, #d9d9d9);
  --fa-card: var(--card, #f6f6f6);
  --fa-bad: #c62828;
  color: var(--fa-fg);
  display: grid;
  gap: 1.25rem;
  font-variant-numeric: tabular-nums;
  min-width: 0;
}
.fa *, .fa *::before, .fa *::after { box-sizing: border-box; }
.fa > *, .fa-results > *, .fa-manual > *, .fa-group, .fa-inputs, .fa-conflicts { min-width: 0; max-width: 100%; }
.fa :focus-visible { outline: 2px solid var(--fa-accent); outline-offset: 2px; }
.fa h3 { margin: 0 0 .5rem; font-size: 1.15rem; }
.fa h4 { margin: 0 0 .75rem; font-size: 1.05rem; }
.fa h5 { margin: 0; font-size: .98rem; }
.fa p { margin: 0 0 .5rem; }
.fa-hint, .fa-basis, .fa-formula, .fa-note { color: var(--fa-muted); font-size: .9rem; }
.fa-formula span { color: var(--fa-fg); font-weight: 600; }
.fa-step { display: grid; gap: .6rem; justify-items: start; }
.fa-steps { margin: 0; padding-left: 1.25rem; display: grid; gap: .35rem; }

.fa-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 2.75rem; padding: .6rem 1.15rem;
  font: inherit; font-weight: 600; text-decoration: none;
  color: var(--fa-bg); background: var(--fa-fg);
  border: 1px solid var(--fa-fg); border-radius: 8px; cursor: pointer;
}
.fa-btn-ghost { color: var(--fa-fg); background: transparent; }
.fa-btn[disabled] { opacity: .6; cursor: progress; }
.fa-hint .fa-btn { min-height: 2.25rem; padding: .35rem .8rem; font-size: .9rem; }
.fa-hint a:not(.fa-btn) { color: var(--fa-ink); }

.fa-file { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.fa-drop {
  display: grid; gap: .25rem; justify-items: center; text-align: center; width: 100%;
  padding: 2rem 1rem; background: var(--fa-card);
  border: 2px dashed var(--fa-line); border-radius: 12px; cursor: pointer;
}
.fa-drop span { color: var(--fa-muted); }
.fa-drop.is-over, .fa-file:focus-visible + .fa-drop { border-color: var(--fa-accent); }
.fa-privacy { font-weight: 600; color: var(--fa-ink); }

.fa-status:empty { display: none; }
.fa-status { padding: .75rem 1rem; border-radius: 8px; background: var(--fa-card); border: 1px solid var(--fa-line); }
.fa-status[data-kind="error"] { border-color: var(--fa-bad); color: var(--fa-bad); }
.fa-error { color: var(--fa-bad); }
.fa-warn { padding: .6rem .8rem; border-left: 3px solid #b26a00; background: var(--fa-card); font-size: .92rem; }

.fa-files { display: grid; gap: .6rem; }
.fa-files:empty, .fa-results:empty { display: none; }
.fa-file-card { padding: .75rem 1rem; border: 1px solid var(--fa-line); border-radius: 10px; background: var(--fa-bg); overflow-wrap: anywhere; }
.fa-file-card.is-ok { border-left: 4px solid var(--fa-ink); }
.fa-file-card.is-bad { border-left: 4px solid var(--fa-bad); }
.fa-file-name { font-weight: 600; }

.fa-results { display: grid; gap: 1.25rem; min-width: 0; }
.fa-head h3 { overflow-wrap: anywhere; }
.fa-exports { display: flex; flex-wrap: wrap; gap: .6rem; }
.fa-summary { padding: 1rem; background: var(--fa-card); border-radius: 10px; }
.fa-summary ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .3rem; }

.fa-cards { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 21rem), 1fr)); }
.fa-card { display: grid; gap: .4rem; align-content: start; padding: .9rem 1rem; border: 1px solid var(--fa-line); border-radius: 10px; background: var(--fa-bg); min-width: 0; }
.fa-card-top { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; }
.fa-trend { font-size: .8rem; color: var(--fa-muted); white-space: nowrap; }
.fa-vals { display: grid; grid-template-columns: repeat(auto-fit, minmax(4.5rem, 1fr)); gap: .25rem .5rem; margin: 0; }
.fa-vals div { display: grid; }
.fa-vals dt { font-size: .78rem; color: var(--fa-muted); }
.fa-vals dd { margin: 0; font-weight: 600; font-size: 1.02rem; }
.fa-say { font-size: .95rem; }
.fa-card details summary, .fa-inputs summary, .fa-manual summary { cursor: pointer; color: var(--fa-ink); font-weight: 600; }
.fa-card details ul { margin: .4rem 0 0; padding-left: 1.1rem; font-size: .88rem; display: grid; gap: .25rem; }
.fa-group-modeli .fa-card { background: var(--fa-card); }

.fa-scroll { overflow-x: auto; max-width: 100%; }
.fa table { border-collapse: collapse; width: 100%; font-size: .9rem; }
.fa th, .fa td { padding: .35rem .5rem; border-bottom: 1px solid var(--fa-line); text-align: left; vertical-align: top; }
.fa td.num { text-align: right; white-space: nowrap; }
.fa-code { font-weight: 600; font-variant-numeric: tabular-nums; }
.fa-manual { display: block; min-width: 0; padding: 1rem; border: 1px solid var(--fa-line); border-radius: 12px; background: var(--fa-card); }
.fa-manual > * + * { margin-top: .75rem; }
.fa-manual > div { display: grid; gap: .75rem; }
.fa-manual-table th[scope="row"] { font-weight: 400; min-width: 13rem; }
.fa-manual-table .fa-sub th { font-weight: 700; padding-top: 1rem; }
.fa-manual input {
  width: 100%; min-width: 6.5rem; min-height: 2.5rem; padding: .4rem .5rem; font: inherit; text-align: right;
  color: var(--fa-fg); background: var(--fa-bg); border: 1px solid var(--fa-line); border-radius: 6px;
}
.fa-manual input.fa-year { font-weight: 700; text-align: center; }
.fa-foot { font-size: .85rem; color: var(--fa-muted); border-top: 1px solid var(--fa-line); padding-top: .75rem; }

/* Manual entry on phones: the table scrolls inside its own box instead of being clipped by the page (sweep 2026-10-31). */
.fa-manual-table { display: block; overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; }
@media (max-width: 760px) { .fa-manual-table th[scope="row"] { min-width: 9rem; } }
