/* Zinvio – KESt-Rechner (Österreich). All styles scoped to .zvk to avoid theme clashes. */
.zvk {
  --ink:#16263F; --body:#334155; --muted:#64748B;
  --teal:#0F857A; --teal-dark:#0B6B62; --teal-tint:#E9F5F3; --teal-bright:#5EEAD4;
  --line:#E2E8F0; --paper:#FFFFFF; --page:#F5F7FA;
  --amber:#92600A; --amber-bg:#FEF6E7;
  --mono: ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  --sans: system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  max-width: 940px; margin: 0 auto;
  font-family: var(--sans); color: var(--body); line-height: 1.5;
  background: var(--paper); border: 1px solid var(--line); border-radius: 16px;
  box-shadow: 0 1px 2px rgba(16,38,63,.04), 0 12px 32px -12px rgba(16,38,63,.12);
  overflow: hidden;
}
.zvk *, .zvk *::before, .zvk *::after { box-sizing: border-box; }

.zvk__head { padding: 30px 32px 22px; border-bottom: 1px solid var(--line); }
.zvk__eyebrow { margin:0 0 10px; font-size:11.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--teal-dark); }
.zvk__title { margin:0 0 8px; font-size:27px; line-height:1.15; font-weight:700; letter-spacing:-.02em; color:var(--ink); }
.zvk__lead { margin:0; max-width:60ch; font-size:15px; line-height:1.55; color:var(--muted); }

.zvk__grid { display:grid; grid-template-columns:1fr 1fr; }
@media (max-width:720px){ .zvk__grid{ grid-template-columns:1fr; } }

.zvk__inputs { padding:26px 32px 30px; display:grid; gap:18px; align-content:start; }
.zvk__field { display:grid; gap:7px; }
.zvk__field > label { font-size:13.5px; font-weight:600; color:var(--ink); }
.zvk__hint { font-size:12px; color:var(--muted); margin:-2px 0 0; }
.zvk__inputwrap { position:relative; display:flex; align-items:center; }
.zvk input[type="number"], .zvk select {
  width:100%; font:inherit; font-size:15px; color:var(--ink); background:#fff;
  border:1.5px solid var(--line); border-radius:9px; padding:11px 12px;
  -moz-appearance:textfield; transition:border-color .12s, box-shadow .12s;
}
.zvk input[type="number"] { font-variant-numeric:tabular-nums; padding-right:34px; }
.zvk input[type="number"]::-webkit-outer-spin-button,
.zvk input[type="number"]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.zvk__inputwrap .zvk__unit { position:absolute; right:12px; font-size:14px; color:var(--muted); pointer-events:none; }
.zvk select { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748B' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 13px center; padding-right:34px; }
.zvk input:focus, .zvk select:focus { outline:none; border-color:var(--teal); box-shadow:0 0 0 3px rgba(15,133,122,.16); }
.zvk__check { display:flex; align-items:center; gap:9px; font-size:13.5px; font-weight:600; color:var(--ink); cursor:pointer; }
.zvk__check input { width:17px; height:17px; accent-color:var(--teal); }
.zvk__spb-amount[hidden] { display:none; }
.zvk__spb-amount { margin-top:0; }

.zvk__result { padding:26px 32px 30px; background:var(--page); border-left:1px solid var(--line); }
@media (max-width:720px){ .zvk__result{ border-left:none; border-top:1px solid var(--line); } }

.zvk__statement { background:var(--ink); border-radius:13px; padding:20px 22px; color:#fff; display:grid; gap:14px; }
.zvk__stmt-row { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.zvk__stmt-row span { font-size:13.5px; color:#AEBED6; }
.zvk__stmt-row strong { font-size:25px; font-weight:700; letter-spacing:-.02em; font-variant-numeric:tabular-nums; color:#fff; }
.zvk__stmt-row--tax { border-top:1px solid rgba(255,255,255,.14); padding-top:14px; }
.zvk__stmt-row--tax span { color:#CFE9E4; font-weight:600; }
.zvk__stmt-row--tax strong { color:var(--teal-bright); font-size:30px; }
.zvk--flash .zvk__stmt-row--tax strong { animation:zvkflash .5s ease; }
@keyframes zvkflash { 0%{color:#fff;} 100%{color:var(--teal-bright);} }

.zvk__ledger { margin-top:22px; }
.zvk__ledger h3 { margin:0 0 12px; font-size:11.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.zvk__row { display:grid; grid-template-columns:18px 1fr auto; align-items:baseline; gap:8px; padding:6px 0; font-size:13.5px; }
.zvk__row .zvk__op { font-family:var(--mono); color:var(--teal); font-weight:700; text-align:center; }
.zvk__row .zvk__lbl { color:var(--body); }
.zvk__row .zvk__val { font-family:var(--mono); font-size:13px; color:var(--ink); text-align:right; white-space:nowrap; }
.zvk__row--sub .zvk__lbl, .zvk__row--sub .zvk__val { color:var(--muted); }
.zvk__row--total { border-top:1.5px solid var(--line); margin-top:4px; padding-top:10px; }
.zvk__row--total .zvk__lbl { font-weight:700; color:var(--ink); }
.zvk__row--total .zvk__val { font-weight:700; color:var(--ink); font-size:14px; }
.zvk__row--final { border-top:3px double var(--ink); margin-top:4px; padding-top:11px; }
.zvk__row--final .zvk__lbl { font-weight:700; color:var(--ink); }
.zvk__row--final .zvk__val { font-weight:700; color:var(--teal-dark); font-size:15px; }

.zvk__cap { margin:12px 0 0; display:flex; gap:8px; align-items:flex-start; background:var(--amber-bg); color:var(--amber); border-radius:8px; padding:9px 11px; font-size:12.5px; line-height:1.45; }
.zvk__cap[hidden] { display:none; }
.zvk__note { margin:18px 0 0; font-size:12px; color:var(--muted); line-height:1.5; }
.zvk__disclaimer { margin:8px 0 0; font-size:11.5px; color:#94A3B8; line-height:1.5; }
.zvk__empty { color:var(--muted); font-size:13.5px; padding:8px 0; }

@media (prefers-reduced-motion: reduce){ .zvk * { animation:none !important; } }
