/* Eisenhart – Eingabe (Repo oder ZIP), Vorprüfung, Plan */
.urlform.drop { align-items: center; }
.zipknopf { flex: none; width: 40px; height: 40px; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--color-ink-2); cursor: pointer; }
.zipknopf:hover { background: #f2f2f5; color: var(--color-ink); }
.zipknopf svg { width: 20px; height: 20px; }
.urlform.drop input { padding-left: 4px; }
.urlform.hatzip input { font-weight: 600; color: var(--color-ink); }
.urlform.ziehen { box-shadow: 0 0 0 4px rgba(194, 65, 12, .18), 0 0 0 2px #c2410c; background: #fff7f2; }

.mdmock .md-zitat { margin: 0; padding: 8px 12px; border-left: 3px solid #c2410c; background: #fff7f2; border-radius: 0 10px 10px 0; font-size: var(--text-xs); color: var(--color-ink-2); }
.close-icon { display: block; width: 110px; height: 110px; margin: 0 auto; border-radius: 26px; box-shadow: 0 18px 40px -18px rgba(122, 30, 18, .55); }
.plans.one { grid-template-columns: minmax(0, 1fr); max-width: 440px; margin-inline: auto; }

/* Job-Ansicht */
.jobview { padding: clamp(28px, 5vw, 56px) 0 clamp(40px, 6vw, 80px); }
.jobkopf { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.jobkopf img { width: 64px; height: 64px; border-radius: 16px; }
.jobkopf h2 { margin: 2px 0 0; font-size: clamp(24px, 3vw, 34px); letter-spacing: -0.02em; word-break: break-word; }
.jobkopf .eyebrow { margin: 0; font-size: 13px; color: var(--color-ink-2); }
.jobkopf .btn { margin-left: auto; }
.jobkarte { background: #fff; border-radius: 22px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .06), 0 20px 50px -30px rgba(20, 40, 110, .35); padding: clamp(18px, 3vw, 30px); }
.jobkarte h3 { margin: 0 0 14px; font-size: 21px; }
.meta { color: var(--color-ink-2); font-size: 14px; }
.meta.klein { font-size: 12.5px; margin: 12px 0 0; }

.laeuft { max-width: 720px; }
.balken { position: relative; height: 54px; border-radius: 16px; background: #f0f0f3; overflow: hidden; }
.balken span { position: absolute; inset: 0 auto 0 0; background: linear-gradient(90deg, #ffb37a, #e8572a 60%, #b8361a); transition: width .8s ease; }
.balken b { position: relative; display: flex; align-items: center; height: 100%; padding: 0 18px; font-weight: 600; font-size: 15px; color: #1d1d1f; mix-blend-mode: normal; text-shadow: 0 1px 0 rgba(255, 255, 255, .55); }

.vorschau { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 20px; align-items: start; }
.zahlen { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.zahlkarte { border-radius: 14px; padding: 12px 14px; background: #f7f7f9; display: grid; gap: 2px; font-size: 13px; color: var(--color-ink-2); }
.zahlkarte .zahl { font-family: var(--font-display); font-weight: 700; font-size: 30px; line-height: 1; color: var(--color-ink); }
.zahlkarte.rot { background: var(--color-err-soft); } .zahlkarte.rot .zahl { color: var(--color-err); }
.zahlkarte.gelb { background: var(--color-light-soft); } .zahlkarte.gelb .zahl { color: var(--color-light-deep); }
.fakten { margin: 14px 0 6px; }
.fundliste { list-style: none; margin: 14px 0; padding: 0; display: grid; gap: 8px; }
.fundliste li { display: flex; align-items: baseline; gap: 10px; padding: 10px 12px; border-radius: 12px; background: #fafafb; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .05); }
.fundliste li b { font-weight: 600; flex: 1; min-width: 0; }
.fundliste li small { color: var(--color-ink-2); font-size: 12px; white-space: nowrap; }
.fundliste li.verdeckt b { filter: blur(5px); user-select: none; }
.sauber { padding: 12px 14px; border-radius: 12px; background: var(--color-ok-soft); color: var(--color-ink); }
.kauf { position: sticky; top: 20px; background: linear-gradient(160deg, #2f6bff, #5b3df5); color: #fff; }
.kauf h3, .kauf .amount { color: #fff; }
.kauf .amount { font-family: var(--font-display); font-size: 40px; font-weight: 700; margin: 0 0 10px; }
.kauf .amount small { font-size: 14px; font-weight: 400; opacity: .8; }
.kauf ul { margin: 0 0 18px; padding-left: 18px; display: grid; gap: 6px; font-size: 14.5px; opacity: .92; }
.kauf .btn { width: 100%; justify-content: center; background: #1f9d55; color: #fff; font-weight: 600; box-shadow: 0 6px 20px -6px rgba(31, 157, 85, .6); }
.kauf .btn:hover { background: #188a49; }
.kauf .meta { color: rgba(255, 255, 255, .7); }

.fertig { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(0, 2fr); gap: 20px; align-items: start; }
.anleitung { position: sticky; top: 20px; }
.anleitung ol { margin: 0 0 18px; padding-left: 20px; display: grid; gap: 8px; }
.anleitung code { font-size: 13px; background: #f2f2f5; padding: 2px 6px; border-radius: 6px; }
.md { background: #fff; border-radius: 22px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .06); padding: clamp(18px, 3vw, 36px); font-size: 15px; line-height: 1.6; min-width: 0; overflow-wrap: anywhere; }
.md h2 { font-size: 26px; margin: 0 0 12px; letter-spacing: -0.02em; }
.md h3 { font-size: 20px; margin: 30px 0 10px; padding-top: 18px; border-top: 1px solid rgba(0, 0, 0, .08); }
.md h4 { font-size: 16.5px; margin: 24px 0 8px; display: flex; gap: 10px; align-items: baseline; }
.md p, .md ul, .md ol { margin: 0 0 12px; }
.md ul, .md ol { padding-left: 22px; }
.md li.check { list-style: none; margin-left: -22px; display: flex; gap: 10px; align-items: baseline; }
.md .box { flex: none; width: 15px; height: 15px; border-radius: 4px; box-shadow: inset 0 0 0 1.5px #c2410c; transform: translateY(2px); }
.md .box.an { background: #c2410c; }
.md blockquote { margin: 0 0 16px; padding: 12px 16px; border-left: 3px solid #c2410c; background: #fff7f2; border-radius: 0 12px 12px 0; }
.md code { font-family: var(--font-mono); font-size: 13px; background: #f2f2f5; padding: 1px 5px; border-radius: 5px; }
.md pre { background: #1d1d1f; color: #f5f5f7; padding: 14px 16px; border-radius: 14px; overflow-x: auto; margin: 0 0 14px; }
.md pre code { background: none; padding: 0; color: inherit; font-size: 12.5px; line-height: 1.55; }
.md .tw { overflow-x: auto; margin: 0 0 14px; }
.md table { border-collapse: collapse; width: 100%; font-size: 14px; }
.md th, .md td { text-align: left; padding: 7px 10px; border-bottom: 1px solid rgba(0, 0, 0, .08); vertical-align: top; }
.md th { font-weight: 600; background: #fafafb; }
.md hr { border: 0; border-top: 1px solid rgba(0, 0, 0, .1); margin: 24px 0; }

@media (max-width: 900px) {
  .vorschau, .fertig { grid-template-columns: minmax(0, 1fr); }
  .kauf, .anleitung { position: static; }
  .zahlen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jobkopf .btn { margin-left: 0; }
}
@media (max-width: 640px) {
  .urlform.drop { flex-direction: row; flex-wrap: wrap; border-radius: 26px; padding: 6px; }
  .urlform.drop input { flex: 1 1 0; min-height: 44px; }
  .urlform.drop .btn { flex: 1 1 100%; justify-content: center; }
}
