/* Paket 5: Objektaufnahme (.af-*), Unterlagen (.ul-*), Objekt anlegen (.on-*), Texte nach onOffice (.tx-*),
   Maklervertrag (.vt-*), Einstieg im Objekt (.af-einstieg) und Objekt-Karte im Assistenten (.as-objekt). */

/* Gemeinsam */
.af-laedt { margin-top:16px; padding:22px 16px; text-align:center; }
.af-fuss { margin:18px 12px 0; white-space:normal; line-height:16px; }
.af-objekt { margin-top:2px; font-size:17px; line-height:22px; }
.af-feld { display:flex; align-items:center; gap:8px; height:46px; padding:0 14px; background:#fff; border:1px solid var(--linie); border-radius:12px; }
.af-feld input { flex:1; min-width:0; height:44px; border:0; background:none; font:400 16px/20px var(--schrift); color:var(--navy); font-variant-numeric:tabular-nums; }
.af-feld input[type=date] { -webkit-appearance:none; appearance:none; text-align:left; }
.af-feld:focus-within { border-color:var(--taupe-hell); box-shadow:0 0 0 3px rgba(158,139,119,.14); }
.af-einheit { flex:none; font:500 14px/18px var(--schrift); color:var(--text3); }

/* Objektaufnahme */
.af-inhalt { padding-bottom:28px; }
.af-kopfkarte { margin-top:12px; padding:14px 16px; }
.af-fort { margin-top:8px; }
.af-balken { margin-top:6px; }
.af-stand { margin-top:8px; }
.af-stand[data-art=fehler] { color:var(--rot); }
.af-stand[data-art=laeuft], .af-stand[data-art=offen] { color:var(--taupe-tief); }
.af-abschnitt { margin-top:10px; overflow:hidden; }
.af-kopf { display:flex; align-items:center; gap:10px; padding:14px 16px; }
.af-kopf .zt { flex:1; min-width:0; }
.af-kopf .ic { color:var(--chev); transition:transform .25s var(--ios); }
.af-abschnitt.auf .af-kopf .ic { transform:rotate(180deg); }
.af-zahl-t { display:block; margin-top:1px; font:500 12.5px/16px var(--schrift); color:var(--text3); }
.af-zahl-t.fertig { color:var(--gruen); }
.af-koerper { padding:0 16px 16px; border-top:1px solid var(--linie); }
.af-koerper[hidden] { display:none; }
.af-frage { padding-top:14px; }
.af-frage-t { margin:0 2px 8px; font:500 14px/18px var(--schrift); color:var(--navy); }
.af-haken { display:flex; align-items:center; gap:12px; }
.af-haken .af-frage-t { flex:1; margin:0; }
textarea.af-text { min-height:46px; padding:12px 14px; line-height:21px; }
.af-chips .chip { height:36px; font-size:14px; }
.af-notiz-box { margin-top:16px; background:#fff; border:1px solid var(--linie); border-radius:14px; overflow:hidden; }
.af-notiz-box:focus-within { border-color:var(--taupe-hell); box-shadow:0 0 0 3px rgba(158,139,119,.14); }
textarea.af-notiz { border:0; border-radius:0; box-shadow:none !important; min-height:84px; }
.af-notiz-leiste { display:flex; align-items:center; gap:12px; padding:10px 12px; border-top:1px solid var(--linie); background:#FCFBF9; }

/* Einstieg im Objekt */
.af-einstieg .zeile .t2 { white-space:normal; }

/* Unterlagen */
.ul-inhalt { padding-bottom:28px; }
.ul-kopf { margin-top:12px; padding:14px 16px; }
.ul-zahlen { display:flex; margin-top:12px; }
.ul-zahlen > div { flex:1; display:flex; flex-direction:column; align-items:center; gap:2px; position:relative; }
.ul-zahlen > div + div::before { content:""; position:absolute; left:0; top:4px; bottom:4px; width:1px; background:var(--linie); }
.ul-zahlen b { font:700 22px/28px var(--schrift); color:var(--navy); }
.ul-zahlen span { font:500 12px/16px var(--schrift); color:var(--text2); }
.ul-knoepfe { margin-top:14px; }
.ul-tipp { margin:10px 2px 0; white-space:normal; }
.ul-unterlage { margin-top:10px; padding:14px 16px; }
.ul-unterlage[data-stand=vorhanden] { border-color:#D6E6DC; }
.ul-woher, .ul-hinweis { margin-top:3px; white-space:normal; }
.ul-hinweis { color:var(--taupe-tief); }
.ul-vorschlag { display:flex; align-items:center; gap:6px; margin-top:8px; padding:6px 10px; border-radius:10px; background:var(--gruen-bg); color:var(--gruen); }
.ul-vorschlag .t3 { flex:1; color:var(--gruen); white-space:normal; }
.ul-vorschlag .knopf { height:28px; padding:0 6px; font-size:13px; color:var(--gruen); }
.ul-chips { margin-top:10px; }
.ul-chips .chip { height:34px; font-size:13.5px; padding:0 12px; }
.ul-angefordert { display:flex; align-items:center; gap:8px; margin-top:10px; }
.ul-angefordert[hidden] { display:none; }
.ul-angefordert > .t2 { flex:none; }
.ul-datum { flex:1; height:38px; min-width:0; }
.ul-datum input { height:36px; font-size:15px; }
.chip.klein { height:32px; padding:0 11px; font-size:13px; }

/* Objekt anlegen */
.on-form { padding-top:8px; padding-bottom:28px; }
.on-form .segment { margin-top:16px; }
.on-eigentuemer { margin-top:12px; }
.on-eigentuemer .feld { margin-bottom:10px; }
.on-eigentuemer .bn-chips { margin-bottom:10px; }
.on-info { margin:8px 4px 0; white-space:normal; }
.on-treffer .karte { margin-top:2px; }
.on-mw-z { padding-left:14px; }
.on-mw-z + .on-mw-z::before { left:14px; }
.on-radio { flex:none; width:22px; height:22px; border-radius:50%; border:1.5px solid var(--sand); position:relative; transition:border-color .2s; }
.on-mw-z.an .on-radio { border-color:var(--navy); }
.on-mw-z.an .on-radio::after { content:""; position:absolute; inset:4px; border-radius:50%; background:var(--navy); }
textarea.on-notiz { min-height:88px; }
.on-los { margin-top:22px; }
.on-fertig .karte .zeile { padding-left:14px; }

/* Texte nach onOffice */
.tx-inhalt { padding-top:12px; padding-bottom:28px; }
.tx-kopfkarte { padding:14px 16px; }
.tx-kopfkarte .t2 { margin-top:6px; white-space:normal; }
.tx-diktat-box { margin-top:12px; }
.tx-holen { margin-top:14px; }
.tx-vorschlag:empty { display:none; }
.tx-feld { margin-top:12px; padding:14px 16px; }
.tx-kopf { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.tx-alt { margin-top:6px; padding:10px 12px; border-radius:12px; background:var(--grund); }
.tx-alt[hidden] { display:none; }
.tx-alt .t2 { margin-top:4px; white-space:pre-wrap; }
.tx-feld > .knopf.text { height:32px; padding:0; margin-top:4px; font-size:13.5px; gap:6px; }
.tx-l { margin:10px 2px 6px; }
textarea.tx-neu.kurz { min-height:50px; }
textarea.tx-neu { min-height:120px; line-height:21px; white-space:pre-wrap; }
.tx-ueber { display:flex; align-items:center; gap:12px; margin-top:12px; }
.tx-ueber .zt { flex:1; }
.tx-los { margin-top:18px; }
.tx-uebersprungen { margin-top:10px; }
.tx-info { margin:12px 4px 0; }

/* Maklervertrag */
.vt-inhalt { padding-top:12px; padding-bottom:32px; }
.vt-kopfkarte { padding:14px 16px; }
.vt-kopfkarte .t2, .vt-kopfkarte .t3 { margin-top:4px; white-space:normal; }
.vt-kopf-o { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.vt-hinweis { display:flex; align-items:flex-start; gap:8px; margin:12px 4px 0; white-space:normal; color:var(--taupe-tief); }
.vt-hinweis .ic { flex:none; margin-top:2px; }
.vt-leer { margin-top:14px; }
.vt-los { margin-top:18px; }
.vt-liste .zeile .pille { flex:none; }
.vt-textkarte { padding:14px 16px 6px; }
.vt-auszug { margin-bottom:8px; }
.vt-text { max-height:420px; overflow:hidden; position:relative; font:400 14px/21px var(--schrift); color:var(--navy); }
.vt-text::after { content:""; position:absolute; left:0; right:0; bottom:0; height:70px; background:linear-gradient(rgba(255,255,255,0), #fff); }
.vt-text.auf { max-height:none; }
.vt-text.auf::after { display:none; }
.vt-text h2 { font:700 17px/23px var(--schrift); margin:18px 0 8px; }
.vt-text h2:first-child { margin-top:2px; }
.vt-text h3 { font:600 15px/20px var(--schrift); margin:16px 0 6px; }
.vt-text h4 { font:600 14px/19px var(--schrift); margin:12px 0 4px; }
.vt-text p { margin:0 0 8px; }
.vt-text p.r { text-align:right; }
.vt-text p.k { font-size:12.5px; line-height:18px; }
.vt-text .e1 { padding-left:1.4em; } .vt-text .e2 { padding-left:2.8em; } .vt-text .e3 { padding-left:4.2em; }
.vt-m { display:inline-block; min-width:2.2em; }
.vt-f { font-weight:600; background:var(--taupe-bg); border-radius:3px; padding:0 3px; white-space:pre-line; }
.vt-luecke { display:inline-block; min-width:8em; border-bottom:1px solid var(--taupe); }
.vt-kasten { background:var(--grund); border-radius:10px; padding:10px 12px 4px; margin:8px 0; }
.vt-platz { color:var(--taupe-tief); font-style:italic; font-size:13px; }
.vt-mehr { margin:2px auto 6px; height:36px; }
.vt-unterschrift { padding:14px 16px 16px; }
.vt-reich { margin:0 0 12px; white-space:normal; }
.vt-haken { display:flex; gap:10px; align-items:flex-start; margin:0 0 12px; font:400 14px/20px var(--schrift); color:var(--navy); }
.vt-haken input { flex:none; width:22px; height:22px; margin:0; accent-color:var(--navy); }
.vt-pflicht { font-weight:600; color:var(--taupe-tief); }
.vt-k { margin:4px 0 8px; }
.vt-canvas { display:block; width:100%; height:190px; border:1.5px dashed var(--taupe-hell); border-radius:12px; background:#fff; touch-action:none; }
.vt-feld-knoepfe { display:flex; gap:8px; margin-top:10px; }
.vt-klein { margin:12px 2px 0; white-space:normal; line-height:17px; }
.vt-fehler { margin:10px 2px 0; color:var(--rot); }
.vt-fehler[hidden] { display:none; }
.vt-fakten .zeile { padding-left:14px; }
.vt-sha { font:500 13px/18px ui-monospace, 'SF Mono', Menlo, monospace; }
.vt-nachholen { margin-top:12px; }
.vt-widerrufen { margin-top:14px; }
.vt-form .vt-anrede { margin-bottom:10px; }
.vt-form .felder + .felder { margin-top:10px; }
.vt-neu-hinweis { margin:6px 2px 0; }
.vt-teilen { padding:14px 16px 16px; margin-top:14px; }
.vt-teilen-text { display:flex; gap:8px; align-items:flex-start; margin:0 0 12px; white-space:normal; color:var(--navy); }
.vt-teilen-text svg { flex:none; margin-top:3px; }
textarea.vt-sonstiges { margin-top:14px; min-height:88px; }
.vt-form .felder + .feld-titel, .vt-form .bn-chips + .feld-titel { margin-top:20px; }
.vt-kontakt { margin-bottom:10px; }
.vt-kontakt .feld { margin-bottom:6px; }
.vt-vollbild { position:fixed; inset:0; z-index:200; display:flex; flex-direction:column; gap:10px; background:var(--grund);
  padding:calc(var(--sat) + 12px) calc(env(safe-area-inset-right, 0px) + 16px) calc(var(--sab) + 12px) calc(env(safe-area-inset-left, 0px) + 16px); }
.vt-vb-kopf { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.vt-vb-feld { flex:1; min-height:0; }
.vt-canvas.gross { height:100%; }
.vt-vb-knoepfe { display:flex; gap:10px; }
.vt-vb-knoepfe .knopf { flex:1; height:48px; }
.vt-vb-hinweis.fehler { color:var(--rot); font-weight:600; }
/* Hochformat: Vollbild um 90° drehen, damit quer unterschrieben wird (die App dreht nicht mit). Links liegt dann die
   Oberkante des Handys (Statusleiste), rechts die Home-Leiste. */
@media (orientation: portrait) {
  .vt-vollbild { inset:auto; top:0; left:100vw; width:100vh; height:100vw; transform-origin:0 0; transform:rotate(90deg);
    padding:12px calc(var(--sab) + 16px) 12px calc(var(--sat) + 16px); }
}

/* Assistent */
.as-objekt-felder { display:flex; flex-direction:column; gap:6px; margin-top:8px; }
.as-objekt-z { display:flex; gap:10px; }
.as-objekt-z .t3 { flex:none; width:78px; padding-top:1px; }
.as-objekt-z .t2 { flex:1; white-space:normal; }
