:root{--bg:#f7f5f0;--card:#fff;--ink:#1f2a33;--muted:#5f6b75;--line:#e3ded3;--accent:#8a1c2b;--accent2:#2f6f5e;--warn:#b45309;--warnbg:#fff4e0;--bad:#b42318;--badbg:#fdecea;--okbg:#e8f4ef}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--accent)}.wrap{max-width:1640px;margin:0 auto;padding:16px}
.top{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#fff;border-bottom:3px solid var(--accent)}
.brand{font-weight:700;font-size:18px;text-decoration:none;color:var(--ink)}.brand small{color:var(--muted);font-weight:400;margin-left:6px}
.logo{display:inline-block;background:var(--accent);color:#fff;border-radius:6px;padding:2px 7px;margin-right:6px;font-family:Georgia,serif}
.top nav a{margin-left:16px;text-decoration:none;font-weight:600}
h1{font-size:22px;margin:8px 0 14px}h2{font-size:17px;margin:0 0 10px;color:var(--accent)}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:14px}
.login{max-width:360px;margin:40px auto}.login label{display:block;margin:10px 0}.login input{width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;font-size:15px}
button,.btn{background:var(--accent);color:#fff;border:0;border-radius:6px;padding:9px 16px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}
.alert{background:var(--badbg);color:var(--bad);padding:8px 10px;border-radius:6px}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.filters label{font-size:13px;color:var(--muted);display:flex;flex-direction:column}
.filters select{padding:7px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:14px}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;background:#fff}
th,td{padding:8px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px}
th{background:#f1ede4;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);white-space:nowrap}
th a{color:inherit;text-decoration:none}td.num,th.num{text-align:right;white-space:nowrap}
tr.flag td{background:var(--warnbg)}tr:hover td{background:#faf8f3}
.badge{display:inline-block;padding:1px 8px;border-radius:20px;font-size:12px;font-weight:600;white-space:nowrap}
.b-golf{background:#e7f0ec;color:var(--accent2)}.b-eigen{background:#f6e7ea;color:var(--accent)}.b-kreuzfahrt{background:#e6eef8;color:#1f4f82}
.b-warn{background:var(--warnbg);color:var(--warn)}.b-bad{background:var(--badbg);color:var(--bad)}.b-ok{background:var(--okbg);color:var(--accent2)}.b-muted{background:#eee;color:var(--muted)}
.small{font-size:12px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0}dl.kv dt{color:var(--muted)}dl.kv dd{margin:0}
.toc{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.toc a{background:#fff;border:1px solid var(--line);border-radius:20px;padding:3px 10px;font-size:13px;text-decoration:none}
ul.clean{margin:0;padding-left:18px}.ohne td{background:var(--badbg)}.optional td{color:var(--muted)}
.foot{text-align:center;color:var(--muted);font-size:12px;padding:20px}
@media (max-width:700px){.wrap{padding:10px}th,td{padding:6px;font-size:13px}.hide-sm{display:none}}
.grid .card table{display:block;overflow-x:auto}
.push{margin-left:auto}.flush{padding:0}.mt{margin-top:12px}h3.var{margin:14px 0 6px;font-size:15px}
.inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.inline input[type=text],.inline input:not([type]),input.num{width:76px;padding:4px 6px;border:1px solid var(--line);border-radius:5px;font-size:13px}
input.grund{width:180px;padding:4px 6px;border:1px solid var(--line);border-radius:5px;font-size:13px}
button.sm{padding:4px 10px;font-size:12px}.ok{background:var(--okbg);color:var(--accent2);padding:8px 10px;border-radius:6px}
details summary{cursor:pointer;color:var(--accent);font-size:13px}
.top nav{display:flex;align-items:center}.navform{display:inline;margin-left:16px}.linkbtn{background:none;color:var(--accent);padding:0;font:inherit;font-weight:600}
/* v1.2 Kalkulator / Bearbeiten */
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 12px}.fgrid label{display:flex;flex-direction:column;font-size:12px;color:var(--muted)}
.fgrid input,.fgrid select,.fgrid textarea{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:14px;width:100%;background:#fff;color:var(--ink)}
.fgrid label.chk{flex-direction:row;align-items:center;gap:6px}.fgrid label.chk input{width:auto}
table.kz input,table.kz select{padding:4px 5px;border:1px solid var(--line);border-radius:5px;font-size:13px;background:#fff}
input.wide{width:190px;padding:4px 6px;border:1px solid var(--line);border-radius:5px;font-size:13px}input.xs{width:52px}
.nowrap{white-space:nowrap}button.alt{background:#fff;color:var(--accent);border:1px solid var(--accent)}button.sm.alt{padding:2px 7px;margin-left:2px}
ul.warn{margin:0 0 10px;padding:8px 10px 8px 26px;background:var(--warnbg);color:var(--warn);border-radius:6px}ul.warn li.bad{color:var(--bad);font-weight:600}
.neg{color:var(--bad)}.sticky{position:sticky;bottom:0;z-index:5;box-shadow:0 -2px 8px rgba(0,0,0,.06)}
select.sel{padding:6px;border:1px solid var(--line);border-radius:6px;max-width:420px}
.rnr{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;color:var(--accent2);background:var(--okbg);padding:1px 7px;border-radius:5px;white-space:nowrap}.rnr.big{font-size:20px}
.edit{float:right;font-size:12px;font-weight:600}.rowform{display:inline}td.act{white-space:nowrap;width:1%}
.fgrid label.span2{grid-column:span 2}a.btn.sm{padding:3px 9px;font-size:12px}
/* v1.4 Kundenkartei */
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-bottom:14px}
.grid.wide-left{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}@media(max-width:900px){.grid.wide-left{grid-template-columns:1fr}}
.b-alert{background:var(--badbg);color:var(--bad)}
ul.plain{list-style:none;padding:0;margin:0}ul.plain li{padding:4px 0;border-bottom:1px solid var(--line);font-size:13px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:8px}.tabs a{padding:5px 12px;text-decoration:none;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0;font-size:13px}
.tabs a.on{border-color:var(--line);background:#fff;font-weight:600;color:var(--accent)}
.fgrid label.chk,label.chk{flex-direction:row;align-items:center;gap:6px;color:var(--ink);font-size:13px}
.chips{display:flex;flex-wrap:wrap;gap:4px 12px;margin-bottom:8px}
.codes{columns:2;font-size:16px}.codes code{background:#f3f0e8;padding:2px 6px;border-radius:4px}
.qr svg{max-width:260px;height:auto;border:1px solid var(--line);border-radius:8px}code.secret{font-size:14px;letter-spacing:1px}
.note{border-left:3px solid var(--line);padding:6px 10px;margin:8px 0;background:#fbfaf7}
tr.muted td{color:var(--muted);text-decoration-color:var(--muted)}td.mono,.mono{font-family:ui-monospace,Menlo,monospace}td.c{text-align:center}
tr.addrow td{background:#fbfaf7}button.danger{background:var(--bad)}h3{font-size:14px;margin:6px 0}
textarea{width:100%}
#profil label:not(.chk){display:flex;flex-direction:column;font-size:12px;color:var(--muted);margin-bottom:6px}#profil .chips label{font-size:13px}
.filters input.wide{min-width:340px}
input.kundesuche{min-width:260px}details.newcontact{border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:#fbfaf7}
fieldset{border:1px solid var(--line);border-radius:6px;padding:6px 10px}fieldset label.chk{display:flex;margin:4px 0}.sub{margin-left:22px}
.mrzscan{margin:8px 0;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.mrzscan .mrz-status{flex-basis:100%}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}label.scanbtn{position:relative;color:#fff}
.mrz-status.good{background:var(--okbg);padding:6px 8px;border-radius:6px}.mrz-status.warn{background:var(--warnbg);padding:6px 8px;border-radius:6px}.mrz-status.bad{background:var(--badbg);color:var(--bad);padding:6px 8px;border-radius:6px}
input.prefilled,select.prefilled{background:#fff8d6;border-color:#e0b400}
input.invalid { border-color: #c0392b; background: #fdecea; outline-color: #c0392b; }
p.inline-flash { margin: .3rem 0 .6rem; }
.rowedit{display:inline-block;margin-right:.3rem}.rowedit[open]{display:block;margin:.4rem 0}.rowedit summary{cursor:pointer;color:var(--accent,#8b1a2b);font-size:.85em}
.b-info{background:#e8f0fb;color:#24508f}
article.anmeldung{border:1px solid var(--line,#e2ddd3);border-radius:8px;padding:.6rem .8rem;margin:.7rem 0}
.anm-kopf{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.4rem}
form.vorschlag{margin:.35rem 0}
textarea.mono,input.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}
.grid>#tn{grid-column:1/-1}
.tn-kopf{display:flex;flex-wrap:wrap;gap:.4rem 2.5rem}
table.rooming td{vertical-align:top;padding:4px 5px}table.rooming input{min-width:0;width:100%}table.rooming td:nth-child(10) input,table.rooming td:nth-child(11) input,table.rooming td:nth-child(12) input{min-width:7.5rem}
table.rooming tr.r-even td{background:#faf7f1}table.rooming tr.r-first td{border-top:2px solid #cfc6b5}
input.xxs{width:3.2rem!important}select.sm{font-size:12px;padding:2px}
body.druck{background:#fff;padding:12px;font-size:12px}body.druck table{width:100%;border-collapse:collapse}body.druck th,body.druck td{border:1px solid #bbb;padding:3px 5px;text-align:left}
@media print{.noprint{display:none}body.druck{padding:0}@page{size:A4 landscape;margin:10mm}}
/* v1.7 Newsletter */
.nl-big{font-size:28px;font-weight:700;margin:0;color:var(--accent)}fieldset.plain{border:0;padding:0;margin:0;min-width:0}
.nl-blocks{display:flex;flex-direction:column;gap:10px;margin:10px 0}.nl-block{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fbfaf7}
.nl-bhead{display:flex;gap:6px;align-items:center;margin-bottom:6px}.nl-bhead strong{flex:1}.nl-add button{margin:2px}
.nl-count{background:var(--okbg);padding:8px 10px;border-radius:6px;margin:10px 0 4px}.nl-count strong{font-size:20px;color:var(--accent2)}
.nl-frame{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f7f5f0;margin:0 auto;max-width:100%;transition:max-width .2s}
.nl-frame iframe{display:block;width:100%;height:760px;border:0;background:#fff}.nl-frame.mobil{max-width:390px}
.nl-text{white-space:pre-wrap;background:#fbfaf7;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:13px;max-height:760px;overflow:auto}
.nl-warn{color:var(--warn)}form.inline{display:inline}input.xs{width:7rem}h3{font-size:14px;margin:14px 0 6px}
button:disabled{opacity:.45;cursor:not-allowed}
.rnr.alt{color:var(--muted,#666);background:transparent;border:1px solid currentColor;font-size:15px}.navsuche{display:inline}.navsuche input{width:150px;padding:3px 6px}
/* v1.9 Abreisen / Flug-Recheck */
tr.flag-bad td{background:var(--badbg)}table.fc td{vertical-align:top}.fcform{display:flex;flex-direction:column;gap:4px;min-width:290px}
.fcnotiz{width:100%;padding:4px 6px;border:1px solid var(--line);border-radius:5px;font-size:13px}.fcform input.num{width:72px}
a.btn.sm.alt-link{background:#fff;color:var(--accent);border:1px solid var(--accent)}button.sm{padding:3px 9px;font-size:12px}
.dash-fc{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.dash-fc .big{font-size:28px;font-weight:700}
.badge.fc-big{font-size:16px;padding:6px 14px}.fc-auto{float:right}
/* v1.10 Belege-Eingang */
.bp{border:1px solid #e3e3e3;border-radius:8px;padding:10px 12px;margin:10px 0}.bp-offen{border-left:4px solid var(--warn)}.bp-fertig{border-left:4px solid var(--accent2);background:#fafcfb}
.bp-kopf{margin-bottom:6px}.bp-akt{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.bp-akt .kundesuche{min-width:240px}
table.vgl td{vertical-align:top}.card.intern{border-top:3px solid var(--bad)}
.bp-akt .fcnotiz{min-width:380px}
/* v1.11 Rechnungs-Entwurf */
table.edit input,table.edit select{font-size:12px;padding:3px 4px}
table.edit td{padding:2px 3px}
form.inline{display:inline-block;margin:0 8px 6px 0}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace}
td.num{text-align:right;white-space:nowrap}
/* v1.11b Rechnungsausgangsbuch */
.tabs a{display:inline-block;padding:6px 12px;border:1px solid var(--line);border-radius:8px 8px 0 0;margin-right:4px;text-decoration:none}
.tabs a.aktiv{background:var(--card);font-weight:bold;border-bottom-color:var(--card)}
form.filter label{display:inline-block;margin-right:10px}
table.buch th a{text-decoration:none;color:inherit;white-space:nowrap}
table.buch tr.summe td{border-top:2px solid var(--line)}
td.offen{color:var(--bad)}
/* v1.11c TN/Hotel */
.warnbox{background:#fff6e0;color:#7a5200;padding:8px 10px 8px 26px;border-radius:6px}
label.tnbox{display:inline-block;margin-right:12px;white-space:nowrap}

/* v1.13 Passkeys */
.pk-oder { text-align: center; color: #888; margin: .6rem 0 .3rem; font-size: .85rem; }
.pk-btn { width: 100%; }
#passkeys .pk-btn { width: auto; }
.pk-status { margin-top: .5rem; }
.pk-ren input[name=name]{width:15em;max-width:100%}

/* v1.15 Benutzer */
tr.muted td{color:var(--muted);background:#faf9f6}input.linkfeld{width:640px!important;max-width:100%;font-family:monospace;font-size:12px}td.aktionen form.inline{display:inline-flex;margin:2px 4px 2px 0}.benutzer-edit input{width:220px!important}
/* v1.16 Hauptmenü mit Gruppen */
.top{flex-wrap:wrap;gap:8px 16px}.top .hauptnav{display:flex;align-items:center;flex:1;justify-content:space-between;gap:12px;min-width:0}
.nav-gruppen{display:flex;align-items:center;gap:2px;margin-left:12px}.nav-rechts{display:flex;align-items:center;gap:12px}
.nav-rechts .navform{margin-left:0}.top nav .dd-menu a{margin-left:0}
.dd{position:relative}
.dd-btn{background:none;border:0;color:var(--ink);font:inherit;font-weight:600;padding:7px 10px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.dd-btn:hover,.dd-btn:focus-visible,.dd.offen>.dd-btn{background:#f1ede4}.dd-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.dd.aktiv>.dd-btn{color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent);border-radius:6px 6px 0 0}
.caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.7}
.gear{font-size:17px;line-height:1}.dd-verwaltung .nav-lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dd-menu{list-style:none;margin:0;padding:6px;position:absolute;left:0;top:calc(100% + 4px);min-width:200px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:50;display:none}
.dd-verwaltung .dd-menu{left:auto;right:0}
.dd.offen>.dd-menu,.top:not(.js) .dd:hover>.dd-menu,.top:not(.js) .dd:focus-within>.dd-menu{display:block}
.dd-menu a{display:block;padding:8px 12px;border-radius:5px;text-decoration:none;font-weight:600;color:var(--ink);white-space:nowrap}
.dd-menu a:hover,.dd-menu a:focus-visible{background:#f1ede4;color:var(--accent);outline:none}.dd-menu a[aria-current=page]{color:var(--accent);background:var(--okbg)}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:6px;padding:8px 9px;cursor:pointer;flex-direction:column;gap:4px}
.burger span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px}
@media (max-width:980px){
 .top{align-items:center}.burger{display:inline-flex;margin-left:auto}.top .hauptnav{flex-basis:100%;flex-direction:column;align-items:stretch;gap:10px}
 .top.js:not(.nav-offen) .hauptnav{display:none}
 .nav-gruppen{flex-direction:column;align-items:stretch;margin-left:0}.dd-btn{width:100%;justify-content:space-between;padding:11px 10px;font-size:16px}
 .dd.aktiv>.dd-btn{box-shadow:inset 3px 0 0 var(--accent);border-radius:6px}
 .dd-menu{position:static;box-shadow:none;border:0;border-left:2px solid var(--line);border-radius:0;margin:0 0 6px 12px;padding:0 0 0 6px;min-width:0}
 .dd-menu a{padding:10px 12px;font-size:15px}.dd-verwaltung .nav-lbl{position:static;width:auto;height:auto;clip:auto;margin-right:auto}
 .top:not(.js) .dd-menu{display:block}
 .nav-rechts{flex-wrap:wrap;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px}.navsuche{flex:1}.navsuche input{width:100%;padding:8px}
}
/* v1.17 gleiche Flüge gruppiert */
.fc-anz{cursor:help}.fc-namen{display:inline-block;margin-left:6px}.fc-namen summary{cursor:pointer;color:var(--accent)}
/* v1.18 Rechnungsentwurf: Kunde */
.rgk{border:1px solid var(--line,#ddd);border-radius:8px;padding:8px 12px;margin-bottom:12px;background:var(--okbg,#f6faf7)}
.rgk-kunde{margin:0 0 6px}.rgk-kunde form{margin-left:8px}.rgk-form .kundesuche{min-width:320px}.rgk-vorschlag{margin-top:8px}.rgk-vorschlag select{max-width:100%}
/* v1.20 Reisen-Übersicht: Zeitraum/Archiv */
.filters input.ra-suche{padding:7px;border:1px solid var(--line);border-radius:6px;font-size:14px;min-width:180px}.ra-hinweis{margin:-4px 0 10px;padding:6px 10px;background:var(--okbg,#f6faf7);border-radius:6px}
@media (max-width:700px){.filters label{flex:1 1 45%}.filters input.ra-suche{min-width:0;width:100%}.filters select{width:100%}}
/* v1.21 Passkey zuerst */
.login .pk-gross{display:block;width:100%;padding:14px 12px;font-size:17px;margin:12px 0 6px}.login .pk-gross.alt{font-size:15px;padding:10px}.login .pk-zuerst p{margin:6px 0}.login .pk-code{margin-top:10px}
#notiz textarea{width:100%;font:inherit;padding:8px;border:1px solid var(--line);border-radius:6px}.rn-fuss{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rn-text{white-space:normal;padding:4px 0}
/* v1.22 Kalkulator */
#kform.kbar{position:sticky;bottom:0;z-index:20;box-shadow:0 -2px 10px rgba(0,0,0,.08);margin-bottom:0}
#kauto{margin-left:auto}#kauto.ok-t{color:var(--accent2)}
#storno .stgrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}#storno .stgrid>div{min-width:0}
#storno table.kz{display:table;width:100%;table-layout:fixed}#storno table.kz input{width:100%;min-width:0;box-sizing:border-box}#storno table.kz td,#storno table.kz th{padding:3px 2px;overflow-wrap:anywhere}
#storno table.kz th:last-child,#storno table.kz td:last-child{width:34px}#storno [data-storno]{overflow-wrap:anywhere}
.blk{display:block;margin:6px 0}.blk select,.blk textarea{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:4px 6px;border:1px solid var(--line);border-radius:5px}
details.hw{min-width:170px;max-width:260px}details.hw summary{cursor:pointer;font-size:13px;white-space:normal}details.hw .hwlist{display:flex;flex-direction:column;gap:2px;padding:4px 0}details.hw .hwlist label{font-size:13px;white-space:normal}
#kres strong.big{font-size:18px}
#kalkulator textarea{font:inherit;font-size:13px}
/* v1.23 Reise erstellen: Dialog Leistungen, Kalkulations-Übersicht */
dialog.kdlg{max-width:860px;width:96vw;border:1px solid #ccc;border-radius:10px;padding:1.2rem}
dialog.kdlg::backdrop{background:rgba(0,0,0,.35)}
table.kleist{width:100%}table.kleist input.wide{width:100%;min-width:18rem}
#leistnach input.wide{flex:1;min-width:0;width:auto}
#leistnach li.inline{display:flex!important;flex-wrap:nowrap;gap:.5rem;align-items:center}
table.kueb th[colspan]{border-left:2px solid #e3e3e3}table.kueb tr.sum td{border-top:2px solid #ccc}
table.staffel{max-width:28rem}

/* v1.24 Zimmerkontingente: Ampel */
.ampel{display:inline-block;width:.75em;height:.75em;border-radius:50%;vertical-align:middle;background:#bbb}
.ampel.a-gruen{background:#2e8b57}.ampel.a-gelb{background:#e0a800}.ampel.a-rot{background:#c0392b}
table.kontingent tr.amp-rot td{background:var(--badbg)}
table.ckv input[type=text],table.ckv input:not([type]){width:100%}table.ckv tr.inaktiv td{opacity:.55}
.grid>#zimmer{grid-column:1/-1}   /* v1.24: Kontingent-Tabelle braucht Breite */
/* v1.25 Teilnehmer: Termin/Versicherung, Kontingent mehrzeilig */
table.rooming select.invalid{border-color:var(--warn)}table.rooming select.vers-offen{background:var(--warnbg)}table.rooming select.vers-abgeschlossen{background:var(--okbg)}
table.multi td{padding:3px 4px}table.multi input{width:100%}table.multi input.xs{width:5em}
/* v1.26 Reisebeschreibung, Sichtbarkeit */
.rt-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:14px;align-items:start}@media (max-width:1000px){.rt-layout{grid-template-columns:1fr}}
#rtform label{display:block;margin:6px 0;font-size:13px;color:var(--muted)}#rtform input:not([type=hidden]),#rtform textarea,#rtform select{display:block;width:100%;font:inherit;font-size:14px;color:var(--ink);padding:6px 8px;border:1px solid var(--line);border-radius:6px;margin-top:2px}
.rt-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width:700px){.rt-2{grid-template-columns:1fr}}
.rt-zeile{border:1px solid var(--line);border-radius:8px;padding:8px;margin:8px 0;background:#fcfbf8}.rt-zk{display:flex;gap:6px;align-items:center}
.rt-zk input{margin-top:0!important}.rt-zk .rt-name{flex:2}.rt-zk input:not(.rt-name){flex:1}.rt-knoepfe{white-space:nowrap}.rt-knoepfe .sm{padding:3px 8px}
.rt-zeile textarea{margin-top:6px!important}.rt-wz{display:block;text-align:right}.rt-wz.rt-gut{color:var(--accent2)}.rt-wz.rt-kurz,.rt-wz.rt-lang{color:var(--warn);font-weight:600}
.rt-aus .rt-url{word-break:break-all}.rt-hinweis{color:var(--warn);margin:2px 0}.rt-fuss{display:flex;gap:12px;align-items:center;margin-top:14px}
table.sichtbar td{vertical-align:middle}table.sichtbar form{margin:0}
@media (min-width:1100px){.grid>#sicht,.grid>#rtext{grid-column:span 2}}#sicht table.sichtbar td:last-child{white-space:nowrap}
.kgf{display:flex;gap:4px;align-items:center;margin-top:3px}.kgf input.kgf-platz{flex:1;min-width:8rem}
.rt-zk input.rt-runden{flex:0 0 5.5em}.rt-vorschlag{background:var(--okbg);padding:6px 8px;border-radius:6px}
/* v1.27 Bildarchiv */
.bi-neu{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width:900px){.bi-neu{grid-template-columns:1fr}}
.bi-neu details summary{cursor:pointer}.bi-form{margin-top:10px}.bi-form input,.bi-form select{width:100%}
.bi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.bi-karte{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.bi-bild{aspect-ratio:3/2;background:#f1ede4;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;text-align:center;overflow:hidden}.bi-bild img{width:100%;height:100%;object-fit:cover;display:block}
.bi-text{padding:8px 10px;display:flex;flex-direction:column;gap:4px}.bi-warn{color:var(--warn)}.bi-wahl{display:flex;gap:4px;flex-wrap:wrap}.bi-wahl .sm{padding:3px 8px}
.rt-bilder{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.rt-bild{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fcfbf8}.rt-bild>.small,.rt-bild form{padding:4px 8px}
.kgf-list{margin-top:3px}.kgf-list .kgf{margin-top:2px}.kgf-foot{margin-top:3px;display:flex;gap:6px;align-items:center}
/* v1.29.2 Autosave Reisebeschreibung */
.rt-status{margin-left:.5em;color:#666}.rt-status.rt-ok{color:#2e7d32}.rt-status.rt-fehler{color:#b3261e;font-weight:600}
/* v1.30 Website-Felder */
.rt-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6em}@media (max-width:800px){.rt-3{grid-template-columns:1fr}}
.rt-koord{max-width:15em}
/* v1.30.17 Preisvarianten: #rtform label/input sonst display:block+width:100% → leere Fläche */
.rt-pv{border:1px solid #e3dcd0;border-radius:8px;padding:.55em .75em .65em;margin:.6em 0;background:#fcfbf8}
.rt-pv legend{font-weight:600;color:var(--ink);padding:0 .35em}
#rtform label.rt-pvz{display:flex!important;flex-direction:row!important;flex-wrap:nowrap;align-items:center;gap:.75em;margin:.4em 0!important;padding:.6em .75em;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:13px;cursor:pointer;box-sizing:border-box;width:auto!important;max-width:100%}
#rtform label.rt-pvz:hover{border-color:#c9b8a0}
#rtform label.rt-pvz:has(input:checked){border-color:#c9a0a6;background:#fff8f8}
#rtform label.rt-pvz > input[type=checkbox]{display:inline-block!important;width:1.15em!important;min-width:1.15em!important;max-width:1.15em!important;height:1.15em;margin:0!important;margin-top:0!important;padding:0!important;flex:0 0 1.15em!important;align-self:center;accent-color:#8a1c2b}
#rtform label.rt-pvz .rt-pvz-main{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.35em .6em;flex:0 1 auto;min-width:0}
#rtform label.rt-pvz .rt-pvz-name{font-weight:600;color:var(--ink);font-size:14px;line-height:1.25}
#rtform label.rt-pvz .rt-pvz-meta{font-size:12px;color:var(--muted);font-weight:400}
#rtform label.rt-pvz .rt-pvz-preis{font-weight:700;white-space:nowrap;color:var(--ink);flex:0 0 auto;margin-left:.15em}
#rtform label.rt-pvz .rt-pvz-ez{font-weight:400;color:var(--muted);font-size:12px;margin-left:.35em}
#rtform label.rt-pvz .badge{flex:0 0 auto;margin:0 0 0 .15em}
/* v1.30.2 WYSIWYG-Editor Reisebeschreibung */
.rte{border:1px solid #c9c3b6;border-radius:6px;background:#fff;margin:4px 0 2px}.rte:focus-within{border-color:#8a1c2b;box-shadow:0 0 0 2px rgba(138,28,43,.15)}
.rte-leiste{display:flex;flex-wrap:wrap;gap:2px;padding:4px;border-bottom:1px solid #e4dfd4;background:#f7f4ee;border-radius:6px 6px 0 0}
.rte-k{font:600 12px system-ui,sans-serif;min-width:28px;padding:3px 7px;border:1px solid transparent;border-radius:4px;background:transparent;color:#333;cursor:pointer}.rte-k:hover{background:#fff;border-color:#d5cfc2}.rte-k.an{background:#8a1c2b;color:#fff}
.rte-bold{font-weight:800}.rte-italic{font-style:italic;font-family:Georgia,serif}.rte-underline{text-decoration:underline}.rte-trenn{width:1px;background:#d5cfc2;margin:2px 4px}
.rte-feld{padding:8px 10px;outline:none;font:14px/1.5 system-ui,sans-serif;color:#222;overflow-wrap:anywhere}.rte-feld p{margin:0 0 .6em}.rte-feld h3{font-size:1.15em;margin:.4em 0 .3em;color:#8a1c2b}.rte-feld h4{font-size:1em;margin:.4em 0 .2em;color:#8a1c2b}
.rte-feld ul,.rte-feld ol{margin:0 0 .6em;padding-left:1.4em}.rte-leer .rte-feld::before{content:attr(data-platzhalter);color:#999;position:absolute;pointer-events:none}.rte-leer .rte-feld{position:relative}
.rte-feld .al-center,.fl-text .al-center{text-align:center}.rte-feld .al-right,.fl-text .al-right{text-align:right}.rte-feld .al-justify{text-align:justify}.fl-text .al-justify{text-align:justify}
/* v1.30.3 formatierte Langtexte (Notiz, Rechnung, …) */
.note .al-center,.rn-text .al-center,.rg-einl .al-center,.rg-hinw .al-center{text-align:center}
.note ul,.rn-text ul,.rg-einl ul,.rg-hinw ul,.note ol,.rn-text ol{margin:.3em 0 .6em;padding-left:1.3em}
.note h3,.rn-text h3,.rg-einl h3{font-size:1.05em;margin:.4em 0 .2em;color:#8a1c2b}.note h4,.rn-text h4{font-size:1em;margin:.3em 0 .15em;color:#8a1c2b}
.note p,.rn-text p,.rg-einl p,.rg-hinw p{margin:0 0 .5em}.rte a{color:#8a1c2b}
/* v1.30.18 Programm & Zeiten */
.grid>#programm{grid-column:1/-1}
.progrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 12px}
.progrid label{display:flex;flex-direction:column;gap:3px;font-size:13px}.progrid label.w2{grid-column:span 2}.progrid label.w3{grid-column:span 3}
.progrid input,.progrid select,.progrid textarea{width:100%;box-sizing:border-box}
.progform{background:#faf8f3;border:1px solid #e6e0d2;border-radius:8px;padding:10px 12px;margin-bottom:12px}
h3.progtag{margin-top:14px;border-bottom:1px solid #eee;padding-bottom:3px}h3.progtag a{text-decoration:none;margin-left:6px}
table.progtbl td{vertical-align:top;overflow-wrap:break-word}table.progtbl th.c-zeit{width:100px}table.progtbl th.c-typ{width:110px}table.progtbl th.c-gilt{width:120px}table.progtbl th.c-lief{width:130px}table.progtbl th.c-st{width:90px}table.progtbl th.c-fr{width:140px}table.progtbl th.c-app{width:95px}table.progtbl th.c-akt{width:115px}
table.progtbl tr.progtag-row td{background:#f6f3ec;border-top:2px solid #e6e0d2;padding-top:7px;padding-bottom:5px}.progtag{font-weight:700;color:var(--accent,#8b1a2b)}tr.progtag-row a{margin-left:8px;text-decoration:none}
@media (max-width:900px){table.progtbl{min-width:820px}}table.progtbl tr.prog-storno td{color:#999;text-decoration:line-through}
.prog-intern{color:#7a5200}.btnlink{font-size:12px;margin-right:4px}
.prog-appvorschau{margin:6px 0 10px}.appphone{max-width:360px;border:1px solid #ddd;border-radius:18px;padding:10px 12px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.apptag{font-weight:600;margin:8px 0 4px;color:var(--accent2,#2d5a3d)}.apppunkt{display:flex;gap:10px;padding:5px 0;border-top:1px solid #f0f0f0}.appzeit{min-width:100px;font-family:monospace;color:#555;white-space:nowrap;font-size:13px}
@media (max-width:700px){.progrid label.w2,.progrid label.w3{grid-column:1/-1}}
/* v1.30.19 News / Magazin */
.fgrid label.span4{grid-column:1/-1}.news-form .fgrid.nf-4{grid-template-columns:repeat(4,minmax(0,1fr))}.news-form .fgrid label.span2{grid-column:span 2}.news-form .fgrid label>span{display:block}.nf-web{align-self:end;padding-bottom:6px}.nf-web>span{display:inline!important}.nf-vorschau{font-size:13px}
.nf-info{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:14px 0}.nf-info legend{font-weight:600;padding:0 4px}.nf-info.nf-aus{opacity:.55}
table.nf-bilder td{vertical-align:top}table.nf-bilder input,table.nf-bilder select{width:100%;box-sizing:border-box}table.nf-bilder input.nf-url{margin-bottom:3px;min-width:220px}table.nf-bilder input.xs{width:58px}table.nf-bilder select.nf-archiv{max-width:210px}
.nf-zahl{font-weight:400;color:var(--muted)}.nf-zahl.lang{color:var(--warn)}.nf-zahl.zu-lang{color:var(--bad);font-weight:600}
.nf-knoepfe{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:14px}.nf-knoepfe .danger{margin-left:auto;color:var(--bad)}
.news-quelle{border-left:4px solid #b8a06a}.news-liste td{vertical-align:top}
.news-vorschau{max-width:820px}.news-vorschau h1{margin:.2em 0}.nv-unter{font-size:18px;color:var(--muted);margin-top:0}.nv-teaser{font-weight:600}
.nv-hero{margin:10px 0}.nv-hero img{width:100%;height:auto;border-radius:8px;display:block}.nv-galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:12px 0}.nv-galerie img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.nv-info{background:#eef5f0;border-radius:8px;padding:8px 12px;margin:10px 0}.nv-text h3{margin-top:1.2em}
@media (max-width:700px){.news-form .fgrid.nf-4{grid-template-columns:1fr 1fr}.news-form .fgrid label.span2{grid-column:1/-1}}
/* v1.30.20 App-Gruppencode */
.appcode-neu{border:1px solid #b7dfc6;background:#effaf3;border-radius:10px;padding:10px 12px;margin:8px 0 12px}
.appcode-neu p{margin:0 0 8px}
.appcode-zeile{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0}
.appcode-gross{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:22px;letter-spacing:.08em;font-weight:700;background:#fff;border:1px solid #cfe7d8;border-radius:8px;padding:6px 10px;white-space:nowrap;user-select:all}
.appcode-link{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;background:#fff;border:1px solid #cfe7d8;border-radius:8px;padding:5px 8px;overflow-wrap:anywhere;word-break:break-all;flex:1 1 260px;min-width:0;user-select:all}
button.is-copied{background:#2e7d4f;border-color:#2e7d4f}
.appcode-liste{margin:6px 0}
.appcode-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(80px,110px) minmax(0,1.4fr) minmax(0,auto);gap:6px 12px;align-items:center;padding:7px 4px;border-bottom:1px solid #eee4dc}
.appcode-kopf{font-weight:700;text-transform:uppercase;font-size:11px;letter-spacing:.04em;color:#6f6560;background:#f3ede6;border-radius:6px 6px 0 0}
.appcode-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:700;white-space:nowrap}
.appcode-info{display:block;color:#8a7f78;font-size:11px}
.appcode-akt{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.appcode-akt form{margin:0}
.appcode-lbl{display:none;color:#8a7f78}
.appcode-row.is-widerrufen{opacity:.6}
@media (max-width:700px){
  .appcode-kopf{display:none}
  .appcode-row{grid-template-columns:1fr;gap:3px;padding:10px 2px}
  .appcode-lbl{display:inline}
  .appcode-akt{justify-content:flex-start;margin-top:4px}
  .appcode-gross{font-size:20px}
}

/* v1.30.22 Chat-Posteingang */
.chat-badge { display:inline-block; min-width:1.3em; padding:0 .4em; border-radius:1em; background:#8b1e1e; color:#fff; font-size:.75rem; font-weight:700; text-align:center; line-height:1.4; }
.chat-wrap { display:grid; grid-template-columns:minmax(240px, 340px) 1fr; gap:1rem; align-items:start; }
.chat-liste ul { margin:0; padding:0; list-style:none; }
.chat-liste li { list-style:none; margin:0; }
.chat-liste li::marker { content:""; }
.chat-item { display:block; padding:.6rem .5rem; border-bottom:1px solid #eee3d9; text-decoration:none; color:inherit; border-radius:.4rem; }
.chat-item:hover, .chat-item.aktiv { background:#fbf3f1; }
.chat-kopf { display:flex; gap:.4rem; align-items:center; }
.chat-zeit { margin-left:auto; font-size:.75rem; color:#7a6f68; }
.chat-reise, .chat-vorschau { display:block; }
.chat-filter a { margin-right:.6rem; } .chat-filter a[aria-current] { font-weight:700; }
.chat-msgs { max-height:60vh; overflow:auto; display:flex; flex-direction:column; gap:.5rem; padding:.3rem; }
.chat-msg { max-width:80%; padding:.5rem .7rem; border-radius:.7rem; background:#f4efe9; }
.chat-msg.aus { align-self:flex-end; background:#8b1e1e; color:#fff; }
.chat-msg.aus .chat-meta { color:#f3dcdc; }
.chat-meta { color:#7a6f68; margin-bottom:.15rem; }
@media (max-width:760px) { .chat-wrap { grid-template-columns:1fr; } .chat-msg { max-width:92%; } }
a.dd-btn.nav-direkt { text-decoration:none; }
/* v1.30.23 Live-Besucher */
.live-panel h2 { margin:0 0 .4rem; font-size:1rem; }
.live-liste { list-style:none; margin:0; padding:0; }
.live-liste li { display:flex; align-items:center; gap:.5rem; padding:.35rem 0; border-bottom:1px solid #eee3d9; flex-wrap:wrap; }
.live-liste li::marker { content:""; }
.live-satz { flex:1 1 auto; }
.live-punkt { width:.6rem; height:.6rem; border-radius:50%; background:#2e8b57; box-shadow:0 0 0 3px #d9f0e3; flex:none; }
form.inline { display:inline; margin:0; }
#webchat-cfg label { display:block; margin:.55rem 0; }
#webchat-cfg input:not([type=checkbox]), #webchat-cfg textarea { display:block; width:100%; max-width:640px; margin-top:.2rem; font:inherit; }
#webchat-cfg label.check { display:flex; gap:.4rem; align-items:center; }
#webchat-cfg label.check.inline { display:inline-flex; margin:.2rem .8rem .2rem 0; }
#webchat-cfg fieldset { border:1px solid #eee3d9; border-radius:.4rem; padding:.4rem .7rem; margin:.5rem 0; }
#webchat-cfg .grid2 { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 320px)); gap:.8rem; }
#webchat-cfg code { word-break:break-all; }
/* v1.30.24 Chat-Hinweise */
.live-mini { display:inline-flex; align-items:center; gap:.25rem; margin-left:.25rem; font-size:.75rem; color:#2e7d4f; font-weight:700; }
.live-mini .live-punkt { width:.5rem; height:.5rem; box-shadow:0 0 0 2px #d9f0e3; }
.live-mini[hidden], .chat-badge[hidden] { display:none; }
.burger { position:relative; }
.burger-badge { position:absolute; top:-7px; right:-9px; font-style:normal; }
.chat-toast { position:fixed; right:16px; bottom:16px; z-index:1000; max-width:360px; background:#fff; border:1px solid #e6d9cf; border-left:4px solid #8b1e1e; border-radius:10px; box-shadow:0 10px 30px rgba(0,0,0,.18); padding:.75rem 2rem .6rem .85rem; display:grid; grid-template-columns:1fr auto; gap:.3rem .6rem; align-items:center; }
.chat-toast-text strong { display:block; font-size:.9rem; } .chat-toast-text span { display:block; font-size:.85rem; color:#5b524c; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:250px; }
.chat-toast-opt { grid-column:1 / -1; display:flex; gap:.8rem; font-size:.75rem; }
.chat-toast-opt .link { background:none; border:0; padding:0; color:#8b1e1e; text-decoration:underline; cursor:pointer; font:inherit; }
.chat-toast-zu { position:absolute; top:4px; right:6px; background:none; border:0; font-size:1.2rem; cursor:pointer; color:#7a6f68; }
/* v1.30.25 Orte + KI-Assistent */
.ort-form .grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.5rem 1rem}
.ort-form fieldset{border:1px solid #ddd;border-radius:6px;margin:.8rem 0;padding:.5rem .8rem}
.ort-geo-liste{display:block;font-size:.85em;margin-top:.2rem}
.ort-picker{position:absolute;z-index:30;background:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.12);max-width:420px;padding:.3rem}
.ort-picker button{display:block;width:100%;text-align:left;background:none;border:0;padding:.35rem .5rem;color:inherit;cursor:pointer}
.ort-picker button:hover{background:#f1f5ee}.ort-picker a{display:block;padding:.35rem .5rem}
.ort-link{margin-left:.4rem;white-space:nowrap}
.ort-bilder{display:flex;flex-wrap:wrap;gap:.8rem}.ort-bilder figure{margin:0;width:180px}.ort-bilder img{width:180px;height:120px;object-fit:cover;border-radius:4px}
.ort-bild-url{width:180px;height:120px;display:flex;align-items:center;justify-content:center;background:#f3f3f3;border-radius:4px;font-size:.85em}
.ki-knopf{margin:.3rem 0}.ki-box{border:1px solid #c9d8c0;background:#f8fbf6;border-radius:6px;padding:.6rem .8rem;margin:.4rem 0 1rem}
.ki-text{background:#fff;border:1px solid #e3e3e3;border-radius:4px;padding:.4rem .8rem;margin:.4rem 0}
.ki-felder td,.ki-felder th{font-size:.9em}
form.inl{display:inline}
.grid>#orte{grid-column:1/-1;overflow:visible}#orte .ort-link-form{flex-wrap:nowrap}

/* v1.30.26 Fotos am Ort */
.ort-drop{border:2px dashed #b9c4cf;border-radius:10px;padding:1rem;text-align:center;background:#f8fafc;transition:background .15s,border-color .15s}
.ort-drop.ueber{background:#e8f3ff;border-color:#2b6cb0}
.ort-drop p{margin:.3rem 0}.ort-drop .btn{cursor:pointer;margin:.2rem}
@media (hover:hover) and (pointer:fine){.ort-kamera{display:none}}
.ort-upl{list-style:none;padding:0;margin:.5rem 0}.ort-upl li{font-size:.9em;padding:.15rem 0}.ort-upl li.ok [data-s]{color:#2f855a}.ort-upl li.fehler [data-s]{color:#c53030;font-weight:600}
.ort-upl progress{width:140px;vertical-align:middle}
.ort-foto-grid{list-style:none;padding:0;margin:.8rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.8rem}
.ort-foto{position:relative;border:1px solid #dde3ea;border-radius:8px;padding:.4rem;background:#fff;display:flex;flex-direction:column;gap:.3rem}
.ort-foto.ist-titel{border-color:#d69e2e;box-shadow:0 0 0 2px #f6e05e}
.ort-foto.zieht{opacity:.4}.ort-foto[draggable=true] img{cursor:grab}
.ort-foto img,.ort-foto .ort-bild-url{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px;background:#edf2f7;display:flex;align-items:center;justify-content:center}
.ort-foto-titel{position:absolute;top:.7rem;left:.7rem}.ort-foto-sp{position:absolute;top:.7rem;right:.7rem}
.ort-foto input{width:100%;box-sizing:border-box;font-size:.85em}.ort-foto .rowform{display:flex;gap:.2rem}
.ort-foto-knoepfe{display:flex;flex-wrap:wrap;gap:.3rem;font-size:.85em}
/* v1.31.24 Hotelbilder: nur die Vorschau ist ziehbar, Bildlizenz-Felder, Autosave-Status */
.ort-foto-bild[draggable=true]{cursor:grab}.ort-foto-bild img{display:block}
.ort-foto-lizenz{display:flex;flex-direction:column;gap:.2rem;border-top:1px dashed #dde3ea;padding-top:.3rem;margin:0}.ort-foto-lizenz label{display:flex;flex-direction:column;font-size:.75em;color:#4a5568;margin:0}.ort-foto-lizenz label input{font-size:1.13em}
.ort-foto input.fehler{border-color:#c53030;background:#fff5f5}
.ort-foto-status{min-height:1.2em;margin:.4rem 0 0}
input.ki-vorschlag{background:#fffbea;border-color:#d69e2e}
/* v1.30.27 Kalkulator: Orts-Suche */
.kort-feld{display:flex;align-items:center;gap:.25rem}.kort-feld input{flex:1;min-width:0}
.kort-badge a{text-decoration:none;font-size:.95em;white-space:nowrap}
.kort-picker{max-width:520px;max-height:360px;overflow:auto;z-index:1000}
.kort-picker .kort-item{display:block;width:100%;text-align:left;background:#fff;color:inherit;border:0;border-bottom:1px solid #edf2f7;padding:.4rem .6rem;font-weight:400;cursor:pointer;border-radius:0}
.kort-picker .kort-item:hover,.kort-picker .kort-item.aktiv{background:#eef5ff}
.kort-picker .kort-neu{color:#8b1a2b;font-weight:600}
.kort-picker .kort-leer{padding:.4rem .6rem}
.kort-form{padding:.6rem;display:flex;flex-direction:column;gap:.35rem;background:#fff}.kort-form label{display:flex;flex-direction:column;font-size:.85em}
.kort-hinweis{grid-column:1/-1;background:#f0fff4;border:1px solid #9ae6b4;border-radius:6px;padding:.35rem .6rem;margin:.2rem 0}
.kort-picker .kort-form{min-width:300px}.kort-picker .kort-form input{width:100%;box-sizing:border-box}
.kort-picker .kort-form p button{display:inline-block;width:auto;padding:.25rem .6rem;margin:.1rem .15rem .1rem 0;background:#8b1a2b;color:#fff;border-radius:4px;font-weight:600}
.kort-picker .kort-form p button.alt{background:#fff;color:#8b1a2b;border:1px solid #8b1a2b}.kort-picker .kort-form p button.link{background:none;color:#555;text-decoration:underline;font-weight:400}
/* v1.30.28 Orte: Zimmer/Restaurants, Flyertext, Entfernungen */
.ort-bloecke{margin-top:.8rem}.ort-blockliste{list-style:none;padding:0;margin:0}
.ort-block{border:1px solid #d9dee5;border-radius:8px;padding:.6rem .8rem;margin:.5rem 0;background:#fafbfc;position:relative}
.ort-block-knoepfe{float:right;display:flex;gap:.25rem}.ort-block-knoepfe button{min-width:2rem}
.ort-intern input{background:#fff7e6}.ort-bew{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.ort-flyer{margin:.8rem 0}.ort-flyer-box{border:1px dashed #b9c4d0;border-radius:8px;padding:.6rem .8rem;background:#f6f9fc}
.ort-flyer-text{min-height:4.5rem;border:1px solid #cfd6de;border-radius:6px;background:#fff;padding:.4rem .6rem;margin-bottom:.4rem}
.ort-flyer-text p{margin:.2rem 0}.ort-fh-zeile{margin:.4rem 0}
.kgf-dist{margin-left:.4rem;white-space:nowrap;color:#3d5166}.kgf-dist-summe{grid-column:1/-1;margin:.2rem 0}
.ort-dist-box{margin:.6rem 0;padding:.5rem .7rem;background:#f6f9fc;border-radius:8px}.ort-dist-liste li{margin:.15rem 0}
/* v1.30.29 Bild-Auswahl (Modal) + Website-Felder */
body.bp-offen{overflow:hidden}
.bp-modal{position:fixed;inset:0;background:rgba(20,30,40,.55);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}
.bp-modal[hidden]{display:none}
.bp-box{background:#fff;border-radius:12px;width:min(1100px,100%);max-height:92vh;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,.3)}
.bp-kopf{display:flex;align-items:center;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid #e3e7ec}.bp-kopf .bp-zu{margin-left:auto}.bp-tabs{display:flex;gap:.3rem}
.bp-filter{display:flex;gap:.5rem;padding:.6rem 1rem;flex-wrap:wrap}.bp-filter input{flex:1 1 240px}.bp-filter[hidden]{display:none}
.bp-grid{overflow:auto;padding:.6rem 1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;flex:1}
.bp-grid>p,.bp-grid>.bp-grid-in,.bp-grid>.bp-mehr{grid-column:1/-1}.bp-grid-in{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem}
.bp-karte{position:relative;display:flex;flex-direction:column;text-align:left;border:2px solid #e3e7ec;border-radius:8px;padding:0;background:#fff;cursor:pointer;overflow:hidden;color:inherit;font:inherit}
.bp-karte img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eef1f4}.bp-karte .bp-titel{font-size:.82rem;font-weight:600;padding:.25rem .4rem 0;line-height:1.2}
.bp-karte .bp-info{font-size:.72rem;color:#5b6b7a;padding:0 .4rem .35rem}.bp-karte.an{border-color:#8b1c2b;box-shadow:0 0 0 2px #8b1c2b inset}
.bp-haken{position:absolute;top:.35rem;right:.35rem;width:1.6rem;height:1.6rem;border-radius:50%;background:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;color:transparent;font-weight:700}
.bp-karte.an .bp-haken{background:#8b1c2b;color:#fff}.bp-karte.schon{opacity:.55;cursor:default}.bp-badge{position:absolute;top:.35rem;left:.35rem;background:#2f7d4f;color:#fff;font-size:.7rem;border-radius:4px;padding:.05rem .35rem}
.bp-fuss{display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border-top:1px solid #e3e7ec}.bp-fuss [data-bp-info]{margin-right:auto}.bp-fuss [data-bp-fehler]{color:#a3202f}
.bp-pfad{margin:.2rem 0}.bp-ordner{display:flex;gap:.3rem;flex-wrap:wrap;margin:.2rem 0}
.ort-web{margin-top:.6rem}.ort-web label{display:block}.ort-web input[name=web_titel],.ort-web input[name=unterzeile]{display:block;width:100%;box-sizing:border-box;margin-top:.2rem}.ort-web .rowform{display:flex;gap:.3rem;align-items:center}.ort-web .rowform input{flex:1}.ort-flyer-uz{margin:.4rem 0}
@media (max-width:600px){.bp-modal{padding:0}.bp-box{max-height:100vh;height:100vh;border-radius:0}.bp-grid,.bp-grid-in{grid-template-columns:repeat(2,1fr)}}
/* v1.30.29 Pass-Scan: Foto-Vorschau + Warnungen */
.mrz-vorschau{margin:.6rem 0;border:1px solid #d9dee5;border-radius:8px;background:#f6f8fa}
.mrz-vhinweis{margin:.4rem .6rem;color:#8a5a00}
.mrz-vt{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;padding:.35rem .5rem;border-bottom:1px solid #e3e7ec}.mrz-vt .small{margin-right:auto}
.mrz-vbox{min-height:140px;max-height:min(55vh,420px);overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:grab;background:#2b3138}
.mrz-vbox canvas{display:block;max-width:100%;max-height:min(55vh,420px);transform-origin:center center;user-select:none}
.dok-live p{margin:.3rem 0}.dok-live .dok-ok{color:#2f7d4f}.dok-warn li{margin:.25rem 0}.dok-info{background:#eef4fb;border-left:3px solid #6b8fb5;padding:.35rem .6rem;border-radius:4px}
@media (min-width:1000px){#dok details[open]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 1rem}#dok details[open]>summary,#dok details[open]>#mrzscan{grid-column:1/-1}#dok details[open]>.mrz-vorschau[hidden]+form{grid-column:1/-1}}
.kz-upg{margin-top:.25rem}.kz-upg select{max-width:100%;font-size:.85rem}
.fl-liste{margin:.2rem 0 .6rem 1.1rem;padding:0}.fl-liste li{margin:.15rem 0}
.rt-erbe{margin:.15rem 0 .1rem;font-weight:normal}.rt-erbt{color:#7a8590;background:#f4f6f8;border-left:3px solid #c9d2db;padding:.2rem .45rem;border-radius:4px}
.rt-erbt-tag{font-style:italic}.rt-erbt-wert{color:#8a939c}.rt-ueber{color:#8a5a00}.rt-ueber button{margin:.15rem .2rem 0 0}.rt-ortzeile{margin:.2rem 0}.rt-golfzahlen{margin:.3rem 0}

/* v1.30.31 Reise-Seite: gruppierte Sprungmarken, Kalkulation einklappbar */
.toc-gruppen{gap:6px 14px;align-items:center}
.toc-gruppe{display:inline-flex;flex-wrap:wrap;gap:5px;align-items:center;padding:3px 8px 3px 4px;border-left:3px solid var(--line)}
.toc-gl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#8a7f73;margin-right:2px}
details.kalk-det>summary{cursor:pointer;list-style:none}
details.kalk-det>summary::-webkit-details-marker{display:none}
details.kalk-det>summary h2{margin:0}
details.kalk-det>summary h2::before{content:"▸";display:inline-block;margin-right:6px;transition:transform .15s;color:#8a7f73}
details.kalk-det[open]>summary h2::before{transform:rotate(90deg)}
details.kalk-det[open]>summary{margin-bottom:8px}
h3.kalk-teil{margin:16px 0 6px;padding-top:8px;border-top:1px solid var(--line)}
details.kalk-margen>summary{cursor:pointer;font-weight:600}
/* v1.30.32 Hotel ↔ Golfplatz + KI-Textvorschlag */
.ort-hg-liste{margin:.3rem 0 .6rem;padding-left:1.4rem}.ort-hg-liste li{padding:.25rem 0;border-bottom:1px solid #eef1f4}
.ort-hg-dist{margin-left:.4rem;color:#4a5a6a}.ort-hg-knoepfe{float:right;display:flex;gap:.25rem}.ort-hg-knoepfe button[disabled]{opacity:.35}
.ort-tv{border-left:4px solid #e0a800;background:#fffdf5}.ort-tv-grid{display:grid;grid-template-columns:1fr 2fr;gap:.8rem}
.ort-tv-teil:last-child:nth-child(3){grid-column:1/-1}.ort-tv-text{border:1px dashed #d9c27a;border-radius:6px;background:#fff;padding:.4rem .6rem;margin-top:.3rem}.ort-tv-text p{margin:.2rem 0}
.kort-golfvorschlag{background:#f3f8f1;border:1px solid #cfe3c8;border-radius:6px;padding:.4rem .6rem}.kort-golfvorschlag ul{margin:.2rem 0 .3rem 1.1rem;padding:0}
@media (max-width:700px){.ort-tv-grid{grid-template-columns:1fr}}

/* v1.30.33 */
.appcode-row>span{min-width:0;overflow-wrap:anywhere}
@media (min-width:701px) and (max-width:1500px){.appcode-row:not(.appcode-kopf){grid-template-columns:minmax(0,1.2fr) minmax(80px,110px) minmax(0,1.4fr)}.appcode-row:not(.appcode-kopf) .appcode-akt{grid-column:1/-1;justify-content:flex-start}.appcode-kopf span:last-child{display:none}.appcode-kopf{grid-template-columns:minmax(0,1.2fr) minmax(80px,110px) minmax(0,1.4fr)}}
.tablewrap td.act{position:sticky;right:0;background:#fff;box-shadow:-6px 0 6px -6px rgba(0,0,0,.18)}
.u-gross{text-transform:uppercase}.u-my{margin:.4rem 0 1rem}.u-mt{margin-top:.6rem}.u-maxw22{max-width:22rem}.u-maxw18{max-width:18rem}.u-maxw100{max-width:100%}.u-w100{width:100%}.u-gapwrap{gap:.5rem;flex-wrap:wrap}.u-span-all{grid-column:1/-1}
.betrag-vorschau{display:block;font-size:12px;color:#5d7a63;margin-top:2px;min-height:1em}.betrag-vorschau.is-fehler{color:var(--bad)}
input.auto-gefuellt{background:#f4f9f4}
.kopier-puffer{position:fixed;opacity:0;left:-9999px}
.dublette{border:1px solid #e6c47a;background:#fff8e6;border-radius:8px;padding:10px 12px;margin:10px 0}
.dublette h3{margin:0 0 6px;font-size:15px}.dublette ul{margin:4px 0 8px 18px;padding:0}.dublette li{margin:2px 0}
.dublette .grund{color:#7a5d1a;font-size:12px}.dublette label{font-weight:600}
/* v1.30.33 Kalkulator „neu anlegen“: Dubletten-Liste kompakt */
.kort-picker .kort-dub{margin:.3rem 0;padding:.5rem .6rem;font-size:.85em}
.kort-picker .kort-dub ul{list-style:none;margin:.3rem 0;padding:0}
.kort-picker .kort-dub li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .4rem;margin:.2rem 0;line-height:1.35}
.kort-picker .kort-dub button{display:inline-block;width:auto;padding:.15rem .5rem;margin:0;border-radius:4px;font-weight:600;font-size:12px;background:#8b1a2b;color:#fff;border:0;cursor:pointer}
.kort-picker .kort-dub button.alt{background:#fff;color:#8b1a2b;border:1px solid #8b1a2b;margin-top:.2rem}
.kort-picker .kort-dub a{font-weight:600}
/* v1.30.34 Website-Hotels / Regionen */
.tv-teil{margin:8px 0 12px}.tv-teil .ort-flyer-text{border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:#fffdf7}
.bildwahl{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.bildwahl .bw{display:flex;flex-direction:column;gap:4px;font-size:13px}.bildwahl img{width:100%;height:110px;object-fit:cover;border-radius:6px}
ul.cols{columns:2;column-gap:28px}@media(max-width:700px){ul.cols{columns:1}}
pre.code{white-space:pre-wrap;font-size:12px;background:#f7f6f2;border:1px solid var(--line);border-radius:6px;padding:10px;max-height:420px;overflow:auto}
.pad{padding:0 14px}
.wh-form .grid2>label,.wh-form>label{display:block;margin:0 0 10px}.wh-form .grid2>label>input,.wh-form .grid2>label>select,.wh-form .grid2>label>textarea,.wh-form>label>textarea{display:block;width:100%;box-sizing:border-box;margin-top:3px;font:inherit}
.wh-form .grid2>label>.small{display:block}.wh-form fieldset{border:1px solid var(--line);border-radius:6px}
/* v1.30.35 Fakten für Gruppen + Zielgruppen */
.pf-kopf{margin:-.3rem 0 .8rem}
.pf-zg,.pf-badge{font-size:.78rem;border-radius:999px;padding:.05rem .5rem}
.pf-zg-gast{background:#e6f2ea;color:#1f5c34}.pf-zg-golfpro{background:#e5eefb;color:#1d4a8a}.pf-zg-yoga{background:#f6eafa;color:#6b2c80}
.pf-fakten summary{cursor:pointer}.pf-training input[type=text],.pf-training input:not([type]){width:100%}
.pf-bloecke td:not(:first-child),.pf-bloecke th:not(:first-child){text-align:center;width:5.5rem}
/* v1.30.36 Anfragen */
code.token{display:inline-block;padding:.4em .6em;background:#f4f1e8;border:1px solid #d9d2bd;border-radius:4px;word-break:break-all;user-select:all}
.nachricht{white-space:normal;background:#fafafa;border-left:3px solid #c9b77a;padding:.5em .8em;margin:.3em 0}
ul.treffer,ul.verlauf{list-style:none;padding-left:0}ul.treffer li{margin:.3em 0}ul.verlauf li{padding:.15em 0;border-bottom:1px dotted #ddd}
form.filter input[name=q]{min-width:16em}
/* v1.30.37 Feedback-Button + Feedback-Verlauf */
.fb-widget { position: fixed; right: 18px; bottom: 18px; z-index: 900; }
.fb-widget > summary { list-style: none; cursor: pointer; background: #8a1c2b; color: #fff; border-radius: 999px; padding: 9px 16px; font-weight: 600; box-shadow: 0 3px 10px rgba(0,0,0,.25); }
.fb-widget > summary::-webkit-details-marker { display: none; }
.fb-widget[open] > summary { border-radius: 10px 10px 0 0; box-shadow: none; }
.fb-form { width: 360px; max-width: calc(100vw - 36px); background: #fff; border: 1px solid #d9cfc4; border-radius: 10px 0 10px 10px; padding: 12px 14px; box-shadow: 0 6px 24px rgba(0,0,0,.2); }
.fb-form textarea { width: 100%; box-sizing: border-box; margin: 4px 0 6px; }
.fb-form .fb-titel { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 6px; }
.fb-form .fb-arten { margin: 0 0 4px; }
.fb-chat { display: flex; flex-direction: column; gap: 12px; }
.fb-msg { max-width: 760px; padding: 10px 14px; border-radius: 12px; }
.fb-von { background: #f4efe8; align-self: flex-start; }
.fb-antwort { background: #e9f3ea; align-self: flex-end; }
.fb-kopf { font-size: .82em; color: #666; margin-bottom: 4px; }
.fb-bild { display: block; margin-top: 8px; max-width: 100%; max-height: 420px; border: 1px solid #ddd; border-radius: 6px; }
@media print { .fb-widget { display: none; } }

/* v1.30.39 Feedback: Antworten des Bots (Captain) klar erkennbar */
.fb-bot { background: #eef1fb; border: 1px solid #c9d2f0; align-self: flex-end; }
.fb-bot .fb-kopf strong { color: #2b3f8c; }
/* v1.30.40 Reise-Detailseite: 12-Spalten-Raster nach Inhalt (kleine Boxen nebeneinander, Tabellen volle Breite), Gruppen-Zugang als Karten */
.grid.reise-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row dense;align-items:start}
.reise-grid>*{grid-column:span 6;min-width:0}.reise-grid>.rg-4{grid-column:span 4}.reise-grid>.rg-5{grid-column:span 5}.reise-grid>.rg-7{grid-column:span 7}.reise-grid>.rg-8{grid-column:span 8}.reise-grid>.rg-12{grid-column:1/-1}
.reise-grid>.card{margin-bottom:0}.rg-stack{display:flex;flex-direction:column;gap:14px}.rg-stack>.card{margin-bottom:0}
.reise-grid dl.kv{grid-template-columns:max-content minmax(0,1fr)}.reise-grid dl.kv dd{min-width:0;overflow-wrap:anywhere}.reise-grid .badge{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.reise-grid>.rg-12 table,.reise-grid .tablewrap table,.reise-grid #sicht table{display:table;width:100%}
.app-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8px 28px;align-items:start}.app-rechts{border-left:1px solid var(--line);padding-left:24px}.app-rechts>h3.var:first-child{margin-top:0}
.appcode-karten{list-style:none;margin:6px 0 10px;padding:0;display:grid;gap:8px}
.appcode-karte{border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:#fff}.appcode-karte.is-widerrufen{opacity:.6;background:#faf8f5}
.appcode-kz{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.appcode-kz code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;font-weight:700;white-space:nowrap}
.appcode-hinweis{font-size:12px;color:#8a7f78;margin-top:2px}.appcode-meta{font-size:12px;color:var(--muted);margin-top:3px}.appcode-meta .nowrap{white-space:nowrap}
.appcode-knoepfe{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.appcode-knoepfe form{margin:0}
@media (max-width:1250px){.reise-grid>.rg-4{grid-column:span 6}.reise-grid>.rg-8{grid-column:span 6}}
@media (max-width:1000px){.reise-grid>.rg-5,.reise-grid>.rg-7{grid-column:1/-1}.app-split{grid-template-columns:1fr}.app-rechts{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:8px}}
@media (max-width:760px){.reise-grid>*,.reise-grid>.rg-4,.reise-grid>.rg-8{grid-column:1/-1}}
/* v1.30.40 Flyer-Link + Flyer per E-Mail */
.fm-link{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 8px}.fm-link input{flex:1 1 260px;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}
.fm-akt{gap:6px;margin-bottom:6px}.fm-mail{margin-top:8px}.fm-mail>summary{cursor:pointer;font-weight:600;color:var(--accent)}.fm-form .fgrid{margin-top:6px}
.fm-vorschau{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 14px;margin:8px 0;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.55}
.fm-v-kopf{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.fm-v-betreff{font-weight:700;margin:2px 0 8px;border-bottom:1px solid var(--line);padding-bottom:6px}.fm-v-text p{margin:0 0 .8em}
.fm-v-knopf{display:inline-block;background:#8b1a2b;color:#fff!important;text-decoration:none;padding:.5em 1em;border-radius:6px;font-weight:700}
/* v1.30.40 Regionen sortierbar/gruppiert, Orte nach Land gruppiert */
a.th-sort{color:inherit;text-decoration:none;white-space:nowrap}a.th-sort:hover,a.th-sort.an{text-decoration:underline}
tr.reg-gruppe th{background:#f3ede6;text-align:left;font-size:13px;padding-top:10px}
.orte-gruppe{border:1px solid var(--line);border-radius:10px;background:var(--card);margin:0 0 10px}.orte-gruppe>summary{cursor:pointer;padding:9px 14px;font-weight:700;list-style:none;display:flex;gap:8px;align-items:center}
.orte-gruppe>summary::-webkit-details-marker{display:none}.orte-gruppe>summary::before{content:'▸';color:var(--accent);transition:transform .15s}.orte-gruppe[open]>summary::before{transform:rotate(90deg)}
.orte-gruppe>summary .small{font-weight:400}.orte-gruppe>table{margin:0;border-top:1px solid var(--line)}.orte-alle{margin:0 0 8px}
/* v1.30.40 Newsletter: KI-Vorschläge, Bilddatenbank */
.nl-ki-knopf{margin-left:6px;vertical-align:middle}.nl-ki-box{border:1px dashed #c9a96a;background:#fffaf0;border-radius:8px;padding:8px 10px;margin:6px 0}
.nl-ki-zeile{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.nl-ki-zeile input{flex:1 1 240px;min-width:0}
.nl-ki-opt{display:flex;gap:8px;align-items:center;justify-content:space-between;border-bottom:1px solid #f0e4cc;padding:5px 0}.nl-ki-opt span{flex:1}
.nl-ki-html{background:#fff;border:1px solid var(--line);border-radius:6px;padding:6px 10px;margin:6px 0}.nl-ki-html p{margin:0 0 .6em}
.nl-bild-vorschau{margin:2px 0}.nl-bild-mini{max-width:220px;max-height:120px;border-radius:6px;border:1px solid var(--line);display:block}.nl-bdb{align-self:end}
.nl-bdb-hg{position:fixed;inset:0;background:rgba(30,25,20,.45);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:5vh 12px}
.nl-bdb-dlg{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:85vh;overflow:auto;padding:12px 14px;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.nl-bdb-kopf{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.nl-bdb-kopf input{flex:1 1 220px}
.nl-bdb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.nl-bdb-karte{display:flex;flex-direction:column;gap:2px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;padding:5px;cursor:pointer;color:inherit}
.nl-bdb-karte:hover{border-color:var(--accent)}.nl-bdb-karte img{width:100%;height:100px;object-fit:cover;border-radius:5px}.nl-bdb-t{font-size:12px;font-weight:600}
.fgrid>.nl-ki-platz,.fgrid>div.span2{grid-column:1/-1}.nl-ki-platz:empty{display:none}
label>.nl-ki-knopf{align-self:flex-start;margin:4px 0 0}
.h2-inline{display:inline}   /* v1.30.40 statt Inline-Style (CSP) */
/* v1.30.41 Aufgaben & Ideen */
.chat-badge.aufg-badge{background:var(--warn)}
.burger-badge.aufg-burger-badge{top:auto;bottom:-7px;background:var(--warn)}
.aufg-h1{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.aufg-neu-btns{margin-left:auto;font-size:15px;font-weight:normal;display:flex;gap:6px}
.aufg-tabs{flex-wrap:wrap}.aufg-tabzahl{display:inline-block;min-width:1.4em;padding:0 .35em;border-radius:1em;background:var(--bg);color:var(--muted);font-size:12px;text-align:center;font-weight:normal}
.aufg-tabs a.on .aufg-tabzahl{background:var(--accent);color:#fff}
.aufg-filter input{padding:7px;border:1px solid var(--line);border-radius:6px;font-size:14px;min-width:150px}
.aufg-tabelle td{vertical-align:top}.aufg-titel{font-weight:600;text-decoration:none}.aufg-titel:hover{text-decoration:underline}.aufg-auszug{color:var(--muted);margin-top:2px}
.badge.aufg-frei{background:#fff;border:1px dashed var(--muted);color:var(--muted)}.badge.aufg-bearb{white-space:nowrap}.badge.aufg-ich{outline:2px solid var(--accent2)}
.badge.aufg-kat{background:#eef2f6;color:#334155}.aufg-prio-3{background:var(--warnbg);color:var(--warn)}.aufg-prio-4{background:var(--bad);color:#fff}.aufg-prio-1{background:#f1f5f9;color:var(--muted)}
.badge.aufg-ampel{white-space:nowrap}
.aufg-leer{padding:14px 16px}
.aufg-form [hidden],.aufg-status [hidden],.aufg-dash [hidden]{display:none!important}
.aufg-form{max-width:980px}.aufg-fgrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.aufg-fgrid .aufg-voll{grid-column:1/-1}
.aufg-frist-box{grid-column:span 2;min-width:0}.aufg-frist-lbl{display:flex;flex-direction:column;font-size:12px;color:var(--muted)}.aufg-frist-lbl input{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font-size:14px;width:100%}
.aufg-frist-vorschau{display:block;min-height:1.4em;margin-top:3px;font-size:13px;font-weight:600;color:var(--muted)}.aufg-fv-ok{color:var(--accent2)}.aufg-fv-warn{color:var(--warn)}.aufg-fv-fehler{color:var(--bad)}
.aufg-typwahl{display:flex;gap:16px;margin:0 0 10px}
.aufg-detail{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:14px;align-items:start}.aufg-detail>.card{margin-bottom:0}.aufg-kopf{grid-row:span 2}
.aufg-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:0}.aufg-text{background:var(--bg);border-radius:8px;padding:10px 12px;margin:8px 0;white-space:normal;overflow-wrap:anywhere}
.aufg-kv{margin:10px 0}.aufg-aktionen{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:10px;margin-top:10px}
.aufg-aktionen select,.aufg-aktionen input{padding:5px 7px;border:1px solid var(--line);border-radius:6px;font-size:13px;max-width:100%}
.aufg-erledigt{background:var(--accent2)}.aufg-bearbeiten{margin-top:12px}.aufg-bearbeiten summary{cursor:pointer;color:var(--accent);font-size:14px}
.aufg-konflikt{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.aufg-konflikt p{margin:0}
.aufg-anhliste li{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.aufg-thumb{width:56px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--line);display:block}
.aufg-pdf{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:6px;background:var(--badbg);color:var(--bad);font-weight:700;font-size:13px}
.aufg-upload{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.aufg-kommentar{display:flex;gap:8px;align-items:flex-end;margin-bottom:10px}.aufg-kommentar textarea{flex:1;padding:6px 8px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:14px}
.aufg-zeitleiste{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--line)}
.aufg-ev{position:relative;padding:4px 0 8px 8px;font-size:14px}.aufg-ev::before{content:"";position:absolute;left:-21px;top:9px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--muted)}
.aufg-ev-angelegt::before{border-color:var(--accent2);background:var(--accent2)}.aufg-ev-uebernommen::before,.aufg-ev-zugewiesen::before{border-color:var(--accent2)}.aufg-ev-status::before{border-color:var(--accent)}.aufg-ev-kommentar::before{border-color:var(--warn);background:var(--warnbg)}
.aufg-ev-zeit{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.aufg-kommentar-text{background:var(--warnbg);border-radius:8px;padding:6px 10px;margin-top:4px;overflow-wrap:anywhere}
.aufg-box ul{list-style:none;margin:0;padding:0}.aufg-box li{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:5px 0;border-bottom:1px solid var(--line)}.aufg-box li:last-child{border-bottom:0}
.aufg-box li a.aufg-titel{flex:1 1 180px;min-width:0;overflow-wrap:anywhere}.aufg-box .aufg-box-fuss{margin:8px 0 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media (max-width:900px){.aufg-detail{grid-template-columns:1fr}.aufg-kopf{grid-row:auto}.aufg-frist-box{grid-column:1/-1}}
@media (max-width:600px){.aufg-neu-btns{margin-left:0}.aufg-filter label,.aufg-filter input,.aufg-filter select{width:100%}.aufg-kommentar{flex-direction:column;align-items:stretch}}
.aufg-form textarea{font:inherit;font-size:14px}.aufg-fgrid .aufg-breit{grid-column:span 2}
.aufg-anhliste button.link,.aufg-bearbeiten button.link{background:none;border:0;color:var(--bad);padding:2px 6px;cursor:pointer;text-decoration:underline}
@media (max-width:600px){.aufg-fgrid .aufg-breit{grid-column:1/-1}}
.aufg-box.aufg-kunde,.aufg-box.aufg-reise{align-self:start}

/* v1.30.42 FIT-Reise */
.aufg-fit-wrap{grid-column:1/-1}
.aufg-fit{margin-top:0}
.aufg-fit-kopf{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:10px;border-bottom:1px solid var(--line);padding-bottom:10px}
.aufg-fit-kopf h2{margin:0;flex:1 1 auto}
.aufg-fit-summen{margin:0;color:var(--ink)}.aufg-fit-ampel-erkl{margin:0;flex:1 1 100%}
.badge.aufg-fit-rot{background:var(--badbg);color:var(--bad)}.badge.aufg-fit-gelb{background:var(--warnbg);color:var(--warn)}.badge.aufg-fit-gruen{background:#e1eee6;color:var(--accent2)}
.aufg-fit-punkte{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.aufg-fit-punkt{border:1px solid var(--line);border-radius:8px;background:#fff;padding:0}
.aufg-fit-punkt>summary{cursor:pointer;list-style:none;padding:10px 12px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between}
.aufg-fit-punkt>summary::-webkit-details-marker{display:none}
.aufg-fit-punkt[open]>summary{border-bottom:1px solid var(--line);background:var(--bg)}
.aufg-fit-punkt-fort{font-size:12px;color:var(--muted)}
.aufg-fit-punkt-form,.aufg-fit-meta{padding:10px 12px}
.aufg-fit-neu{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.aufg-fit-neu input,.aufg-fit-neu select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:14px}
.aufg-fit-werte{margin:8px 12px}.aufg-fit-werte .muted{color:var(--muted);margin-right:4px}
.aufg-check{display:flex;align-items:center;gap:6px;padding-top:18px}
.aufg-form .aufg-nur-fit[hidden],.aufg-form .aufg-nicht-fit[hidden]{display:none!important}
/* v1.30.43 FIT-Reise: Hotel-Varianten, Gründe, Schnell-Hinzufügen */
.aufg-fit-punkt.aufg-fit-alt { background: #f6efe3; border-left: 4px solid #b8892e; }
.aufg-fit-punkt.aufg-fit-alt > summary { background: transparent; }
.aufg-fit-gruende { margin: .3rem 0 .5rem; }
.aufg-fit-gruende li { margin: .1rem 0; }
.aufg-fit-altsum { margin: .2rem 0; }
.aufg-fit-schnell { display: inline-flex; flex-wrap: wrap; gap: .3rem; align-items: center; margin-right: .5rem; }
.aufg-fit-neu { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.aufg-fit-ortinfo { background: #fbf6ee; padding: .35rem .5rem; border-radius: 4px; }
.aufg-kn { border: 1px dashed #d9c9b0; border-radius: 6px; padding: .4rem .6rem; }
.aufg-fit [hidden], .aufg-form [hidden] { display: none !important; }
.aufg-kn .aufg-kn-check { display: block !important; text-align: left; grid-column: 1 / -1; padding: 2px 0; }
.aufg-kn .aufg-kn-check input[type=checkbox] { width: auto !important; display: inline-block; vertical-align: middle; margin: 0 .3rem 0 0; }
.aufg-kn .aufg-kn-check > span { display: inline; }
.aufg-fit-bearb { margin: .4rem 0; padding: .35rem .5rem; background: #fbf6ee; border-radius: 4px; }
.aufg-fit-sig { margin-top: .3rem; padding-left: .5rem; border-left: 2px solid #d9c9b0; color: #6b5a55; }
/* v1.30.44 AER-Flugangebot */
.aufg-aer-upload{margin:.4rem 0 .6rem;border:2px dashed #b9c6d6;border-radius:8px;padding:.6rem .8rem;background:#f7fafd;font-size:.9rem}
.aufg-aer-upload.aufg-aer-hover{border-color:#2b6cb0;background:#e8f1fb}
.aufg-aer-upload.aufg-aer-laeuft{opacity:.6}
.aufg-aer-wahl{display:inline;color:#2b6cb0;text-decoration:underline;cursor:pointer;font-weight:600}
.aufg-aer-vorschau{border:1px solid #e0c36a;background:#fffbea;border-radius:8px;padding:.6rem .8rem;margin:.4rem 0 .8rem}
.aufg-aer-vorschau h3{margin:.1rem 0 .4rem;font-size:1rem}
.aufg-aer-info{border-left:3px solid #2b6cb0;padding:.2rem .6rem;margin:.4rem 0 .6rem;background:#f7fafd}
table.aufg-aer-seg{width:100%;border-collapse:collapse;font-size:.85rem;margin:.3rem 0}
table.aufg-aer-seg caption{text-align:left;font-weight:600;padding:.2rem 0}
table.aufg-aer-seg th,table.aufg-aer-seg td{padding:.2rem .4rem;border-bottom:1px solid #e5e9ef;text-align:left;white-space:nowrap}
tr.aufg-aer-umst td{color:#7a5d00;background:#fff6d6;font-style:italic}
table.aufg-aer-diff{border-collapse:collapse;margin:.4rem 0}
table.aufg-aer-diff th,table.aufg-aer-diff td{padding:.15rem .5rem;border-bottom:1px solid #eadfb8;text-align:left}
.aufg-aer-ok label{display:block;max-width:420px;margin:.3rem 0}
.aufg-fit-klausel{margin-top:.4rem;max-width:60rem;flex-basis:100%;width:100%;order:9}
@media (max-width:700px){table.aufg-aer-seg{display:block;overflow-x:auto}}
/* v1.30.45 Angebots-PDF */
.aufg-fit-angebot{flex-basis:100%;width:100%;order:8;border:1px solid #e3ddd0;background:#fbf9f4;border-radius:8px;padding:.5rem .8rem;margin-top:.5rem}
.aufg-fit-angebot h3{margin:.1rem 0 .4rem;font-size:1rem}
.aufg-ang-liste li{margin:.15rem 0}
.aufg-ang-liste li.aufg-ang-neu{background:#e9f6ec;border-radius:4px;padding:.1rem .3rem}
.aufg-ang-gb{display:inline-block;width:280px;max-width:100%;margin:.3rem 0}
.aufg-ang-gb input{width:100%}
.aufg-fit-angebot .aufg-fit-klausel{margin:.4rem 0 0}

/* v1.30.46 Angebots-PDF: Optionen + Ortsdaten-Stand */
.aufg-ang-opt{border:1px solid #e6dfd3;border-radius:6px;padding:.3rem .6rem;margin:.4rem 0;display:flex;flex-wrap:wrap;gap:.2rem 1rem;align-items:center}
.aufg-ang-opt legend{font-weight:600;padding:0 .3rem}
.aufg-ang-orte{margin:.3rem 0}.aufg-ang-orte li{margin:.15rem 0}
.aufg-ang-fehlt{color:#8a5a00}
/* v1.30.47 Zimmer-Upgrade + Anmeldelink */
.aufg-fit-z2-hinweis{margin:.4rem 0 0;padding-top:.4rem;border-top:1px dashed #d8d0c4}
.aufg-anm-link{margin-top:.8rem;padding:.6rem .8rem;border:1px solid #e3dccf;border-radius:8px;background:#fbf9f5}
.aufg-anm-link h4{margin:0 0 .4rem}
.aufg-anm-aktiv{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap}
.aufg-anm-aktiv>div{flex:1;min-width:240px}
.aufg-anm-qr svg{width:120px;height:120px;display:block;background:#fff}
.aufg-anm-url{width:100%;font-family:monospace;font-size:.85rem}
.aufg-fit-filter{display:block}
.aufg-fit-alle{display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap;cursor:pointer}
.aufg-fit-alle input[type=checkbox]{width:auto;margin:0}

/* v1.30.48 Angebot + Anlagen als drei einzelne PDF-Downloads */
.aufg-ang-dl{display:inline-flex;flex-wrap:wrap;gap:.3rem;margin-left:.4rem;vertical-align:middle}
.aufg-ang-dl .btn.sm{padding:.15rem .5rem;font-size:.8rem}
.aufg-ang-anl a.small{margin-right:.6rem}
.fit-anl-zeile{border-top:1px solid #eee;padding-top:.3rem}

/* v1.30.49 Preiskategorie (intern) + Zimmeranzahl in der Orte-Liste */
.ort-pk{white-space:nowrap;font-size:.75rem;border:1px solid #d8c9a8;background:#fbf6ea;color:#6b5320}
.ort-pk b{letter-spacing:-.05em}
.ort-pk-guenstig{background:#eef6ee;border-color:#b9d8b9;color:#2f5e2f}
.ort-pk-mittel{background:#eef2f9;border-color:#bccbe4;color:#2d4a7a}
.ort-pk-luxus{background:#f8eeee;border-color:#e0bcbc;color:#8a1c24}
.orte-pk-filter{display:inline-flex;flex-wrap:wrap;gap:.3rem;align-items:center;font-size:.85rem}
.orte-pk-filter .chip{display:inline-flex;gap:.25rem;align-items:center;border:1px solid #ccc;border-radius:1rem;padding:.1rem .55rem;background:#fff;cursor:pointer}
.orte-pk-filter .chip:has(input:checked){background:#8a1c24;border-color:#8a1c24;color:#fff}
.ort-pk-felder{display:flex;align-items:flex-end;gap:1rem;flex-wrap:wrap}
td.num{text-align:right}
.orte-hk-zeile{flex-basis:100%;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.35rem;padding-top:.35rem;border-top:1px dashed #e2dccf}
.orte-hk-zeile select,.orte-hk-zeile input{width:auto}
.orte-filter{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}

/* v1.30.50 Kreuzfahrt */
.kf-kat td input{width:100%}.kf-kat td.num input{text-align:right}.kf-kat .kf-code{width:5.5em}.kf-hinw{background:#f4f7fb;border-left:4px solid #1f4f82;padding:.6rem .8rem;margin:.6rem 0}
.kf-entwurf{background:#fff4d6;border-left:4px solid #c98a00;padding:.6rem .8rem}.kf-kab td{vertical-align:middle}.kf-kab select,.kf-kab input{font-size:.9em}
/* v1.30.50 Kreuzfahrt-Formulare: Felder untereinander im Raster */
.kf-form .grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.4rem 1rem;margin-bottom:.6rem}
.kf-form label{display:block;margin:0 0 .5rem}.kf-form label>input:not([type=checkbox]):not([type=radio]),.kf-form label>select,.kf-form label>textarea,.kf-form>textarea,.kf-form fieldset>textarea{display:block;width:100%;box-sizing:border-box;margin-top:3px;font:inherit}
.kf-form fieldset{border:1px solid #e3ddd3;border-radius:6px;padding:.5rem .8rem;margin:.6rem 0}.kf-form label.kf-check{display:flex;gap:.4rem;align-items:center}
[data-ort-form] [hidden]{display:none!important}   /* v1.30.50: Art-abhängige Felder (u. a. .ort-pk-felder mit display:flex) wirklich ausblenden */
/* v1.30.51 Programmpunkt: Überschrift + formatierter Gästetext; Kreuzfahrt-Kontingent; Programmpunkt-Typen */
.apptag-titel{font-size:18px;font-weight:700;color:#222;margin-top:2px}.apppunkt-ueber{font-weight:700;font-size:15px;margin-bottom:2px}
.apptext p,.prog-txt p{margin:.25em 0}.apptext ul,.apptext ol,.prog-txt ul,.prog-txt ol{margin:.25em 0 .25em 1.2em;padding:0}.prog-ueber{margin-bottom:2px}
.kf-uebersicht td,.kf-uebersicht th{padding:4px 8px}.kf-uebersicht tr.summe td{font-weight:700;border-top:2px solid #ccc}.kf-pc{color:#666;font-family:monospace}.kf-std{background:#f4f7fb;padding:.4rem .7rem;border-radius:6px}
.pt-liste td input[name$="[label]"]{width:100%;min-width:12em}.pt-liste tr.muted td{color:#888}.pt-liste tr.muted input{color:#888}
.rt-ueber{width:100%;box-sizing:border-box;margin:4px 0 2px}
.kf-rv td{vertical-align:top}.kf-dup{list-style:none;padding-left:0}.kf-dup li{margin:4px 0}
.apptag-text{padding:4px 10px 8px;border-bottom:1px solid #eee}
.dp-mini{max-width:120px;max-height:80px;border:1px solid #ddd;background:#fff}.dp-pdf{display:inline-block;padding:14px 12px;border:1px solid #c0392b;color:#c0392b;font-weight:700;border-radius:4px;background:#fff}
.dp-galerie{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}.dp-galerie li{width:170px}.dp-galerie img{max-width:170px;max-height:120px;border:1px solid #ddd}
.enter-auffang{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* v1.30.53 Routenkarte (Office-Vorschau) */
.rk-office{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:16px;align-items:start}
.rk-office-karte svg{display:block;width:100%;height:auto;border-radius:4px}
.rk-office-karte img.rk-landkarte{display:block;width:100%;height:auto;border-radius:4px;background:#f2efe9}   /* v1.31.8 Kartenstil Landkarte */
.rk-lk-box{margin:0 0 10px}.rk-lk-box p{margin:0 0 6px}.rk-lk-form{margin:4px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rk-legende{list-style:none;margin:0 0 8px;padding:0;columns:2;column-gap:14px}
.rk-legende li{break-inside:avoid;margin:0 0 4px}
.rk-nr{display:inline-block;min-width:24px;padding:0 6px;border-radius:9px;background:#8a1c2b;color:#fff;font-weight:700;font-size:12px;text-align:center;line-height:18px;margin-right:4px}
.rk-edit{margin-top:10px}.rk-text{width:100%;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}
@media (max-width:900px){.rk-office{grid-template-columns:1fr}}
/* v1.30.54 Routenkarte: Häfen je Tag mit Herkunft */
.rk-tage-box{margin:6px 0 10px}.rk-tage-box summary{cursor:pointer;font-size:13px}
.rk-tage{border-collapse:collapse;width:100%;font-size:12px;margin-top:6px}
.rk-tage th,.rk-tage td{border-bottom:1px solid #e3ddd0;padding:3px 6px;text-align:left;vertical-align:top}
.rk-tage td:first-child{width:34px;text-align:right;font-weight:600}
.rk-st-offen td{background:#fff3e0}.rk-st-vorlage td:nth-child(3){color:#7a5200}.rk-st-titel td:nth-child(3){color:#3c5a7a}.rk-st-see td{color:#7b8790}
/* v1.30.55 Reiseverlauf aus Vorlage: alter Standard + Vorschau */
.kf-rv-alt td{background:#f3f7ff}.kf-rv-diff{margin-top:3px;line-height:1.35}.kf-rv-ist{color:#8a4b00}.kf-rv-soll{color:#2d5a2d}
/* v1.30.56 Website-Import & Rubriken */
table.wi-tbl{width:100%;border-collapse:collapse}table.wi-tbl td,table.wi-tbl th{vertical-align:top;padding:6px 6px;border-bottom:1px solid var(--line);text-align:left}
table.wi-tbl td:first-child{width:28px}table.wi-tbl tr.wi-st-gleich td{color:var(--muted)}table.wi-tbl tr.wi-st-abweichend td{background:#fffaf0}table.wi-tbl tr.wi-st-konflikt td{background:#fdf0f0}
.wi-html{max-height:14em;overflow:auto;font-size:13px;border-left:3px solid var(--line);padding-left:8px}.wi-html h3,.wi-html h4{font-size:13px;margin:.4em 0 .2em}.wi-html p{margin:.2em 0 .5em}
.wi-quelle{display:inline-block;padding:0 6px;border-radius:4px;background:#eef2f6;font-size:12px}.wi-q-sharepoint{background:#e6eef8;color:#1f4f82}.wi-q-website{background:#f6efe2;color:#7a5512}.wi-q-regel{background:#eee;color:var(--muted)}
.wi-hinw{color:var(--warn)}.wi-hinweise li{margin:.3em 0}.wi-du{color:var(--accent2)}.wi-los{position:sticky;bottom:0;border-top:3px solid var(--accent2);z-index:2}
.rub-feld{border:1px solid var(--line);border-radius:8px;padding:8px 10px}.rub-feld label.chk{display:inline-flex;gap:.3em;margin:0 1.2em .3em 0;align-items:center}.rub-vorschlag{color:var(--warn)}
.rub-feld{grid-column:1/-1}
/* v1.30.57 Papierkorb */
.pk-karte{border-left:3px solid #c0392b}.pk-karte .pk-gruende{margin:4px 0 8px 18px}.pk-karte .pk-hinweise{margin:4px 0 8px 18px;color:var(--muted,#666)}
.pk-im-korb{font-size:15px}.pk-liste td{vertical-align:top}.pk-aktionen form{margin:0 0 4px}.pk-endgueltig summary{cursor:pointer;color:#c0392b}.pk-verwendung{margin-top:8px}.pk-verwendung summary{cursor:pointer}
/* v1.30.57 Bildübernahme Website-Import */
.wib-vorschau{display:block;max-width:160px;height:auto;border-radius:4px;background:#eee;min-height:40px}.wib-liste td{vertical-align:top}.wib-verworfen{opacity:.6}.wib-hinweis{margin:6px 0}.wib-alle{background:#f6f8fa;padding:6px 8px;border-radius:6px}
/* v1.30.57 Flughafen direkt anlegen */
.fh-neu { border-left: 4px solid #2c7be5; }
.fh-neu h3 { margin: 0 0 .3rem; }
.fh-neu .fgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .5rem .8rem; }
.wib-liste select.wib-motiv { max-width: 13rem; }
/* v1.30.58 Kartenpunkte (Rundreisen), Alt-Text-Prüfung, Schalter „ausgebucht“ */
.rkg-box { margin-top: .8rem; border-top: 1px solid #e5e5e5; padding-top: .6rem; }
.rkg-box h3 { margin: 0 0 .3rem; font-size: 1rem; }
.rkg-tbl td { vertical-align: top; }
.rkg-tbl .rkg-wahl { margin: .25rem 0; padding: 0; list-style: none; font-size: .85rem; }
.rkg-tbl .rkg-wahl li { margin: .1rem 0; }
.rkg-akt summary { cursor: pointer; font-size: .85rem; color: #555; }
.rkg-akt .rowform { margin-top: .3rem; flex-wrap: wrap; gap: .3rem; }
.rkg-ermitteln { margin: .4rem 0; }
.alt-warn { color: #9a4a00; background: #fff3e0; border-radius: 4px; padding: 1px 5px; display: inline-block; }
.alt-warn-box { margin: .4rem 0; }
.sicht-ausgebucht td { background: #fff4f4; }
/* v1.30.59 Lage-Namen (Website/App) */
.lage-box { border: 1px dashed #d8cfbf; border-radius: 6px; padding: .5rem .7rem; margin: .4rem 0; grid-column: 1 / -1; }
.lage-box .grid2 { gap: .4rem .8rem; }
.lage-warn { color: #9a4a00; display: block; margin-top: .2rem; }
.lage-vorschlag { background: #f4f8fb; border-radius: 4px; padding: .4rem .6rem; margin-top: .3rem; }
.lage-vorschlag button { margin: .1rem .1rem 0 0; }
.lage-liste h2 { font-size: 1.05rem; margin: 0 0 .3rem; }
/* v1.30.59 Preis folgt + Voranmeldungen */
.pf-zeile td { background: #fbfaf6; }
.pf-zeile.pf-an td { background: #eef5fb; }
.pf-zeile form.pf-form input.pf-hinweis { width: min(36rem, 100%) !important; display: inline-block; }
.va-box { border: 1px solid #d6e2ec; border-radius: 6px; padding: .5rem .8rem; margin: .6rem 0; background: #f8fbfd; }
.va-box h3 { margin: .1rem 0 .3rem; }
.va-entwurf { margin: .4rem 0; } .va-entwurf textarea { width: 100%; font-family: inherit; }
.va-link { width: 100%; font-size: .8rem; }
.alert.va-benachrichtigen { background: #fff8e6; border-color: #e6c66a; color: #3d3320; }
.va-entwurf form label { display: block; margin: .3rem 0; font-size: .85rem; color: #3d3320; }
.va-entwurf form input[name=va_betreff] { display: block; width: 100%; }
.va-entwurf summary { cursor: pointer; }
.pf-zeile .pf-termin { display: inline-block; margin: 0 .4rem; font-size: .85rem; }
/* v1.30.60 Kalkulator: Berechnungsart (Normal / Direktpreis + Marge), Marge-Art, Zuordnen an Reise */
.kberech-wahl{display:flex;flex-wrap:wrap;gap:.6rem;margin:.4rem 0 .8rem}
.kberech-opt{flex:1 1 15rem;display:flex;flex-direction:column;gap:.2rem;border:1px solid var(--line);border-radius:8px;padding:.55rem .7rem;background:#fff;cursor:pointer}
.kberech-opt input{margin-right:.35rem}
.kberech-opt.an{border-color:var(--accent2);background:var(--okbg);box-shadow:inset 0 0 0 1px var(--accent2)}
.kberech-opt .small{color:var(--muted)}
.kmarge-aktiv .badge{font-size:.8rem}
.kdirekt td,.kdirekt th,.kdirekt-auf td,.kdirekt-auf th{vertical-align:middle}
.kdirekt td.num strong{white-space:nowrap}
.kz-meur{margin-top:.2rem}
.kz-meur input{width:4.8rem}
.kberech-box{border:1px solid var(--line);border-left:4px solid var(--accent2);border-radius:6px;padding:.45rem .7rem;margin:.5rem 0;background:#fbfaf6}
.kberech-box div{margin:.1rem 0}
.kz-link-haupt{background:var(--accent2);color:#fff;font-weight:600}
.kz-neu-klein{font-size:.85rem;color:var(--muted)}
.kz-vorreise{border-left:4px solid var(--accent2)}
/* v1.30.61 Kalkulator Direktpreis: „Weitere Kostenzeilen“ – Kopf nicht umbrechen, Spalten wie bei den Kostenzeilen */
.kz-weitere table.kz th{white-space:nowrap;vertical-align:bottom}
.kz-weitere table.kz td{vertical-align:middle}
/* v1.30.61 Reise: Name für Gäste je Variante, Termin „auf Website zeigen“ */
.pf-zeile .pf-gast{display:inline-block;margin:0 .6rem .2rem 0;font-size:.85rem}
.pf-zeile .pf-gast input{width:min(18rem,100%);display:inline-block}
h3.var .var-gast{font-weight:400;color:var(--muted);margin-left:.4rem}
.termin-zeile{margin:.15rem 0}.termin-zeile.termin-aus{color:var(--muted)}
form.termin-web{display:inline;margin-left:.5rem}
button.schalter{background:#fff;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 9px 1px 3px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:5px;cursor:pointer}
button.schalter .schalter-knopf{width:26px;height:14px;border-radius:999px;background:#c9ced3;position:relative;display:inline-block;transition:background .15s}
button.schalter .schalter-knopf::after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#fff;transition:left .15s}
button.schalter.an{color:var(--accent2);border-color:var(--accent2)}
button.schalter.an .schalter-knopf{background:var(--accent2)}
button.schalter.an .schalter-knopf::after{left:14px}
/* v1.30.61 Bilder-Kasten: Rollen-Knöpfe je Bild */
.rt-bild form.bi-rollen{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}
.rt-bild form.bi-rollen button{padding:2px 7px;font-size:11px;margin:0}
.rt-bild form.bi-rollen button.an{background:var(--accent2);color:#fff;border:1px solid var(--accent2);opacity:1;cursor:default}
.rt-bild .bi-doppelt{display:inline-block;margin-top:3px;font-size:11px}
/* v1.31.1 Newsletter-Layout-Bausteine (Editor) */
.nl-add{display:flex;flex-direction:column;gap:4px}.nl-add-zeile{display:flex;flex-wrap:wrap;align-items:center;gap:2px}.nl-add-layout{padding-top:4px;border-top:1px dashed var(--line)}
.nl-bhilfe{flex:2;color:var(--muted,#777);font-weight:400}.nl-block-layout{background:#fffdf8;border-color:#e6dccb}
.nl-subs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nl-sub{border:1px dashed #d9cdb8;border-radius:6px;padding:8px;background:#fff;min-width:0}.nl-subkopf{font-weight:600;font-size:13px;margin-bottom:4px}
@media (max-width:900px){.nl-subs{grid-template-columns:1fr}}
.nl-fakt-x{align-self:flex-start;margin-top:3px}
/* v1.31.3 Pass-Scan: Staatsangehörigkeit – Warnung/Hinweis/Vorschlag */
.mrz-nat-warn,.mrz-nat-hinweis{margin:.4rem 0}.mrz-nat.mrz-nat-ist-vorschlag{background:var(--warnbg);padding:4px 6px;border-radius:6px}
/* v1.31.6 Routenkarte: Flüge (Etappen Auto/Flug/Landweg, An-/Abflughafen) */
.rk-fl-box{margin:12px 0;padding:10px 12px;border:1px solid #e3ddd0;border-radius:6px;background:#fffdf8}
.rk-fl-box h3{margin:0 0 6px;font-size:15px}
.rk-fl-tbl td{vertical-align:middle}.rk-fl-tbl td:first-child{width:auto;text-align:left;font-weight:600}
.rk-fl-flug td:first-child{color:#8a1c2b}
.rk-fl-mod{white-space:nowrap}
.rk-fl-mod label{display:inline-block;margin:0;cursor:pointer}
.rk-fl-mod input{position:absolute;opacity:0;width:1px;height:1px}
.rk-fl-mod span{display:inline-block;padding:2px 9px;border:1px solid #c9bb9c;background:#fff;font-size:12px;line-height:18px}
.rk-fl-mod label:first-child span{border-radius:9px 0 0 9px}.rk-fl-mod label:last-child span{border-radius:0 9px 9px 0}
.rk-fl-mod label+label span{border-left:0}
.rk-fl-mod input:checked+span{background:#8a1c2b;border-color:#8a1c2b;color:#fff}
.rk-fl-mod input:focus-visible+span{outline:2px solid #3c5a7a;outline-offset:1px}
.rk-fl-fh{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;margin:10px 0 6px}
.rk-fl-feld{display:flex;flex-direction:column;font-size:13px;font-weight:600}.rk-fl-feld input{font-weight:400;margin-top:2px}
.rk-icon{display:inline-block;vertical-align:-1px}
.rk-nr-fh{min-width:18px;padding:0 4px}.rk-nr-fh .rk-icon{color:#fff;vertical-align:-1px}
.rk-fh-art{color:#6b7680;font-size:12px}
@media (max-width:900px){.rk-fl-fh{grid-template-columns:1fr}}

/* v1.31.9 Newsletter-Baustein Routenkarte */
.nl-rk-vorschau{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.nl-rk-mini{max-width:260px;max-height:280px;border-radius:6px;border:1px solid var(--line);display:block}
.nl-rk-attr{color:var(--muted,#777);max-width:320px}.nl-rk-hinweis a{font-weight:600}.nl-rk-hinweis .small{margin-top:4px}.nl-rk-knopf{align-self:end}
/* v1.31.15 Kundensuche oben auf der Kundenseite (sticky) + ⚙ „Datenimport“ */
.filters.ksuche-kompakt{position:sticky;top:0;z-index:40;gap:8px;align-items:center;margin:-6px 0 10px;padding:6px 10px;background:#fbfaf7;border:1px solid var(--line);border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.05)}
.ksuche-kompakt .ksuche-lbl{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.ksuche-kompakt input.wide{flex:1 1 340px;max-width:520px;padding:6px 8px;font-size:14px}.ksuche-kompakt select{padding:5px 7px}.ksuche-kompakt button{padding:5px 12px}
.ksuche-kompakt .ksuche-kartei{margin-left:auto}
.filters input[data-kundensuche-feld]{padding:7px 8px;border:1px solid var(--line);border-radius:6px;font-size:14px}
@media (max-width:700px){.filters.ksuche-kompakt{margin:-4px 0 8px;gap:6px;padding:6px}.ksuche-kompakt select{width:auto;flex:1 1 auto}.ksuche-kompakt .ksuche-lbl,.ksuche-kompakt .ksuche-kartei{display:none}.ksuche-kompakt input.wide{min-width:0;flex:1 1 100%;max-width:none}}
.dd-menu .dd-trenner{margin:6px 4px 2px;padding:6px 8px 2px;border-top:1px solid var(--line);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.di-liste li{margin:.35em 0}
/* v1.31.15 Pass-Scan PDF: Seitenwahl */
.mrz-pdfseiten{flex-basis:100%;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.mrz-pdfseiten button.aktiv{background:var(--accent,#8c1c2c);color:#fff}.mrz-pdfseiten button[disabled]{opacity:.6}
/* v1.31.15 Routenkarte: Legende Linienarten (Landweg durchgezogen, Flug gestrichelt + Flugzeug) */
.rk-art{display:inline-block;width:40px;margin-right:4px;vertical-align:middle}.rk-art .rk-muster{display:block;width:40px;height:12px}
/* v1.31.15 Leistungen: Inline-Bearbeitung in der Zeile */
.inl-tabelle tr.inl-aktiv td{background:#fdf7e8;vertical-align:top}
.inl-tabelle tr.inl-aktiv textarea{width:100%;min-width:18rem;box-sizing:border-box;resize:vertical}
.inl-tabelle tr.inl-aktiv select{max-width:100%}
.inl-tabelle tr.inl-aktiv :is(select,textarea,input){font:inherit;padding:4px 6px}
.inl-tabelle .inl-act .rowform{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.inl-tabelle .inl-tipp{flex-basis:100%;color:#777}
/* v1.31.16 Hotel-Koordinaten aus Google-Maps-Link, manueller Anreiseflughafen */
.ort-koord-link{display:block;width:100%;max-width:26rem;margin-top:.3rem;font-size:.85em}.ort-koord-link-info{display:block;font-size:.85em;margin-top:.15rem}
.fh-manuell{color:#1d5e2a}.fh-hinweis{font-weight:normal}
/* v1.31.16 Hotel-Ort in der Reisebeschreibung */
.ho-ort { border: 1px solid #e3e6ea; border-radius: 6px; padding: .5rem .7rem; margin: .4rem 0 .8rem; background: #fafbfc; }
.ho-ort-zeile { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: .3rem 0; }
.ho-ort-zeile input[data-ort-picker] { min-width: 16rem; flex: 1 1 16rem; }
/* v1.31.16 Reihenfolge per ▲/▼ (bearbeiten.php) */
td.es-pfeile { white-space: nowrap; }
td.es-pfeile form.rowform { display: inline-block; margin: 0 2px 0 0; }
td.es-pfeile .es-btn { min-width: 2em; padding-left: .35em; padding-right: .35em; }
td.es-pfeile .es-btn:disabled { opacity: .35; cursor: default; }
tr.es-gruppe th { text-align: left; background: #f3f5f7; font-size: .85em; text-transform: uppercase; letter-spacing: .03em; }
/* v1.31.17 Tage konfigurieren (programm_tage.php) */
.pt-kopf p{margin:.35em 0}.pt-termine a.pt-akt{font-weight:700;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--accent)}
.pt-tag h2 .small{font-weight:400;margin-left:.4em}
.pt-andere{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;background:#f6f3ec;border-radius:6px;padding:6px 10px;margin-bottom:6px}
.pt-gruppe{border-top:1px solid var(--line);padding-top:4px;margin-top:8px}
.pt-gruppe h3{font-size:14px;margin:4px 0;color:var(--accent)}
.pt-zeile{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 10px;padding:6px 8px;border-radius:6px;margin-bottom:4px;background:#faf8f3}
.pt-zeile.pt-neu{background:#f2f7f4;border:1px dashed #b9d3c8}
.pt-zeile.pt-storno input{text-decoration:line-through;color:#999}
.pt-form{display:none}
.pt-f{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}
.pt-f input,.pt-f select{font-size:14px;color:var(--ink)}
.pt-zeit input{width:5.4em}.pt-zeiten input{width:11em}.pt-bis span+span{font-size:14px;color:var(--ink);padding:4px 0}.pt-zahl input{width:4.2em}.pt-ort input{width:13em}.pt-mittel input{width:10em}.pt-label input{width:12em}
.pt-text{flex:1 1 14em}.pt-text input{width:100%;box-sizing:border-box}
.pt-app{align-items:center}.pt-app input{width:auto;margin:6px 0}
.pt-akt-btn{display:flex;gap:4px;align-items:center;margin-left:auto}
.pt-akt-btn .es-btn{min-width:2em;padding-left:.35em;padding-right:.35em}.pt-akt-btn .es-btn:disabled{opacity:.35;cursor:default}
/* v1.31.18 Gruppenart (Golf/Yoga/Sonstige) */
.pt-ga{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:.35em 0}.pt-ga label{display:flex;align-items:center;gap:6px;font-size:13px}
@media (max-width:700px){.pt-ort input,.pt-mittel input,.pt-label input,.pt-zeiten input{width:100%}.pt-f{flex:1 1 100%}.pt-zeit,.pt-zahl,.pt-st,.pt-app{flex:0 0 auto}}
/* v1.31.19 Checkliste: „+“ je Gruppe, Eingabezeile am Ende der Gruppe, Gruppe als Auswahlliste, Haken auf der Reiseseite */
tr.es-gruppe th.ck-plus-zelle { text-align: right; }
a.ck-plus { display: inline-block; min-width: 1.7em; padding: 0 .45em; border: 1px solid #8f1d2c; border-radius: 999px; color: #8f1d2c; background: #fff; font-weight: 700; font-size: 1.05rem; line-height: 1.45; text-align: center; text-decoration: none; text-transform: none; }
a.ck-plus:hover, a.ck-plus:focus { background: #8f1d2c; color: #fff; }
tr.es-gruppe th:target { box-shadow: inset 4px 0 0 #8f1d2c; }
.ck-tabelle tr.ck-neu-zeile td { background: #fdf7e8; vertical-align: middle; }
.ck-tabelle tr.ck-neu-zeile input[type=text] { width: 100%; min-width: 10rem; box-sizing: border-box; font: inherit; padding: 4px 6px; }
.ck-tabelle tr.ck-neu-zeile .rowform { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.ck-tabelle .ck-gruppe-fest { color: #555; font-style: italic; }
.ck-tabelle .ck-tipp { flex-basis: 100%; color: #777; }
.ck-tabelle tr.ck-neu td { background: #eaf6ee; }
.ck-combo { position: relative; display: block; }
.ck-combo input { padding-right: 1.9em; }
.ck-combo-auf { position: absolute; right: 2px; top: 50%; transform: translateY(-50%); border: 0; background: none; color: #555; padding: 2px 6px; cursor: pointer; min-width: 0; box-shadow: none; }
.ck-combo-liste { position: absolute; z-index: 30; left: 0; right: 0; top: 100%; margin: 2px 0 0; padding: 4px 0; list-style: none; background: #fff; border: 1px solid #c9cfd6; border-radius: 6px; box-shadow: 0 6px 18px rgba(0,0,0,.12); max-height: 16rem; overflow: auto; min-width: 14rem; }
.ck-combo-liste li { padding: 5px 10px; cursor: pointer; font-weight: normal; }
.ck-combo-liste li.aktiv, .ck-combo-liste li:hover { background: #f3e6e8; }
.ck-combo-liste li.gewaehlt { font-weight: 700; }
.ck-combo-liste li.leer { color: #777; font-style: italic; cursor: default; }
#check li.ck-haken-li { list-style: none; }
form.ck-haken { display: inline; margin: 0; }
form.ck-haken label { display: inline; font-weight: normal; cursor: pointer; }
form.ck-haken input[type=checkbox] { appearance: none; -webkit-appearance: none; width: 1.05em; height: 1.05em; margin: 0 .2em 0 0; vertical-align: -.15em; border: 1px solid #b9c0c8; border-radius: 3px; background: #e9ecef; cursor: pointer; position: relative; }
form.ck-haken input[type=checkbox]:checked { border-color: transparent; background: none; }
form.ck-haken input[type=checkbox]:checked::before { content: "✅"; position: absolute; left: -.08em; top: -.18em; font-size: 1.05em; line-height: 1.2; }
form.ck-haken input[type=checkbox]:focus-visible { outline: 2px solid #8f1d2c; outline-offset: 1px; }
form.ck-haken input[type=checkbox]:disabled { opacity: .5; }
.ck-haken-msg { margin-left: .4em; }
.ck-haken-msg.ok { color: #1f7a4d; }
.ck-haken-msg.fehler { color: #b3261e; }
/* v1.31.19 Extranächte + Finanzcheck */
.fc-plus { color: #1f7a4d; font-weight: 700; }
table.fc-tab td, table.gx-tab td { vertical-align: top; }
.fc-tab .fc-en { margin-top: .25em; padding: .2em .45em; border-left: 3px solid #1f5fa8; background: #f2f6fb; }
.fc-re { margin-bottom: .25em; white-space: nowrap; }
.fc-re form.rowform { display: inline; }
details.fc-up > summary { cursor: pointer; color: #8f1d2c; }
form.fc-form { display: flex; flex-wrap: wrap; gap: .35em .6em; align-items: flex-end; margin-top: .3em; padding: .4em; border: 1px dashed #c9c9c9; border-radius: 6px; background: #fafafa; }
form.fc-form label { display: flex; flex-direction: column; }
table.fc-sum { max-width: 46rem; }
.gx-zsum { background: #f7f7f2; }
tr.gx-alt td { opacity: .55; }
a.gx-plus { margin-left: .3em; text-decoration: none; font-size: .9rem; }
form.gx-neu { display: flex; flex-wrap: wrap; gap: .35em .6em; align-items: flex-end; }
form.gx-neu label { display: flex; flex-direction: column; }

/* v1.31.20 Flugverbindungen „gilt für“ + Aufpreise/Extras je Gast */
.fv-block { margin: .6rem 0 1rem; }
.fv-block.fv-abw { border-left: 3px solid var(--warn); padding-left: .6rem; }
.fv-block h3 .badge { font-weight: normal; }
.fv-pick summary, .fv-neu summary { cursor: pointer; }
.fv-pick-liste { display: flex; flex-wrap: wrap; gap: .4rem; margin: .3rem 0; }
.fv-zi { border: 1px solid #ddd; border-radius: 6px; padding: .2rem .5rem; margin: 0; }
.fv-zi legend { font-size: .8rem; padding: 0 .2rem; }
.fv-gast { display: block; font-size: .85rem; white-space: nowrap; }
.fv-wer td { vertical-align: top; }
tr.fv-abw-zeile td { background: var(--warnbg); }
a.fv-badge, a.ga-badge { text-decoration: none; }
a.ga-plus { margin-left: .3em; text-decoration: none; font-size: .9rem; font-weight: bold; }
.ga-neu .chk { white-space: nowrap; }
.ga-vk-info { min-width: 10em; display: inline-block; }
.fc-ga { margin-top: .2rem; }

/* v1.31.20 Finanzen (Ist) / Finanzcheck Ergebnis */
label.fi-aus { opacity: .5; }
.fi-erg .badge, .fc-erg .badge { white-space: nowrap; }
.fc-manuell .badge { font-weight: normal; }
/* v1.31.20 Finanzcheck: Rechnungs-/Ist-Zeilen dürfen umbrechen (sonst überlappen sie mit „Tatsächlich“), Leistung nicht zu schmal */
.fc-tab .fc-re { white-space: normal; }
.fc-tab td:first-child { min-width: 11rem; }
/* v1.31.21 Ankunftsdatum (Flüge): Hinweis/Vorschlag „+1 Tag“, Bestätigung „Ankunft vor Abflug“ */
.fa-hinweis-box[hidden], [data-fa-bestaetigt][hidden] { display: none !important; }
.fa-hinweis-box { display: block; margin: .3rem 0; padding: .35rem .5rem; border-radius: 6px; background: #f3f6fa; border: 1px solid #d5dde8; }
.fa-hinweis-box.fa-vorschlag, .fa-hinweis-box.fa-warn { background: #fff6e0; border-color: #e8c36a; }
.fa-hinweis-box.fa-info { background: #eef7ef; border-color: #b9dcbc; }
.fa-hinweis-box .fa-uebernehmen { margin: .2rem .3rem .2rem 0; }
td .fa-hinweis-box { max-width: 16rem; white-space: normal; font-size: .8rem; }
.fa-an { white-space: nowrap; }
/* v1.31.22 FIT: Zimmer & Produkte je Hotel */
.aufg-fit-za{border:1px solid #e3ddd0;background:#fbf9f4;border-radius:6px;padding:.4rem .6rem}
.aufg-fit-za-kopf{margin:.1rem 0 .3rem}.aufg-fit-za-vorlage{margin:.1rem 0 .3rem;color:#7a5b1e}
.aufg-fit-za-scroll{overflow-x:auto}
.aufg-fit-za-tab{border-collapse:collapse;width:100%;min-width:760px}
.aufg-fit-za-tab th{text-align:left;font-weight:600;padding:2px 4px;border-bottom:1px solid var(--line);white-space:nowrap}
.aufg-fit-za-tab td{padding:2px 4px;vertical-align:top}
.aufg-fit-za-tab input,.aufg-fit-za-tab select{padding:3px 5px;border:1px solid var(--line);border-radius:4px;font:inherit;font-size:13px;max-width:100%}
.aufg-fit-za-name select,.aufg-fit-za-name input{display:block;width:100%;min-width:170px;margin-bottom:2px}
.aufg-fit-za-kurz{width:3.2em}.aufg-fit-za-preis{width:6em}
.aufg-fit-za-summe{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.aufg-fit-za-tab tfoot td{border-top:1px solid var(--line);font-weight:600}
.aufg-fit-za-opt td{color:var(--muted);font-style:italic}
.aufg-fit-za-knoepfe{display:flex;flex-wrap:wrap;gap:.3rem;margin:.4rem 0 .1rem}
.aufg-fit-za [readonly]{background:#f1ede4}
input[data-fit-za-ziel][readonly]{background:#f1ede4;color:#555}
.aufg-fit-za .aufg-fit-za-tab input.aufg-fit-za-kurz{width:3.4em}.aufg-fit-za .aufg-fit-za-tab input.aufg-fit-za-preis{width:6.5em}
.aufg-fit-za .aufg-fit-za-tab select[data-za="preisart"]{width:auto;min-width:8.5em}.aufg-fit-za .aufg-fit-za-tab select[data-za="typ"]{width:auto;min-width:7.5em}
.aufg-fit-za .aufg-fit-za-tab td.aufg-fit-za-name{min-width:200px;width:30%}.aufg-fit-za .aufg-fit-za-tab input[type="checkbox"]{width:auto}
/* v1.31.25 Flugsegmente (Hin-/Rück-/Weiterflug) am FIT-Flug */
.aufg-fit-seg{border:1px solid #dfe5ee;background:#f7f9fc;border-radius:6px;padding:.4rem .6rem}
.aufg-fit-seg-titel{margin:.1rem 0 .3rem}
.aufg-fit-seg-row{border:1px solid #e3e8ef;background:#fff;border-radius:5px;padding:.35rem .5rem;margin:.35rem 0;border-left:4px solid #6a8fc0}
.aufg-fit-seg-row.aufg-fit-seg-rueck{border-left-color:#c08a3e}
.aufg-fit-seg-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.25rem}
.aufg-fit-seg-kopf select{padding:2px 5px;border:1px solid var(--line);border-radius:4px;font:inherit;font-size:13px;width:auto}
.aufg-fit-seg-knoepfe{margin-left:auto;display:flex;align-items:center;gap:.25rem}
.aufg-fit-seg-knoepfe button[disabled]{opacity:.35;cursor:default}
.aufg-fit-seg-felder{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.3rem .5rem}
.aufg-fit-seg-f{display:flex;flex-direction:column;font-size:12px;color:var(--muted)}
.aufg-fit-seg-f input{padding:3px 5px;border:1px solid var(--line);border-radius:4px;font:inherit;font-size:13px;color:#222;width:100%;box-sizing:border-box}
.aufg-fit-seg-route{grid-column:span 2}
.aufg-fit-seg .fa-hinweis-box{grid-column:1/-1}
.aufg-fit-seg-add{display:flex;flex-wrap:wrap;gap:.3rem;margin:.4rem 0 .1rem}
.aufg-fit-flugtext{color:var(--muted)}
@media (max-width:600px){.aufg-fit-seg-route{grid-column:1/-1}}
.aufg-fit-seg .aufg-fit-seg-weg{display:inline-flex;flex-direction:row;padding-top:0;font-size:14px;color:#7a2020;align-items:center;gap:3px;white-space:nowrap;margin:0 0 0 .3rem;cursor:pointer}
.aufg-fit-seg .aufg-fit-seg-weg input{width:auto;margin:0}
/* v1.31.33 Anmeldungen: Feldabgleich-Tabelle (Vornamen markiert; mobil als Karten statt Querscrollen) */
table.abgleich mark{background:#fff3a3;padding:0 2px}
@media (max-width:640px){table.abgleich,table.abgleich tbody,table.abgleich tr,table.abgleich td{display:block;width:auto}table.abgleich tr:first-child{display:none}table.abgleich tr{border-bottom:1px solid #ddd;padding:6px 0}table.abgleich td{border:0;padding:3px 0}
table.abgleich td:nth-child(2)::before{content:"Im Kunden: ";color:#666;font-size:.85em}table.abgleich td:nth-child(3)::before{content:"In der Anmeldung: ";color:#666;font-size:.85em}table.abgleich td.nowrap label{display:inline-block;margin-right:14px}table.abgleich td.nowrap br{display:none}}
