/* Gawado Tourenplanung – Oberfläche v0.8 (Aufbau nach Bedienkonzept, eigenes Design) */
@font-face{font-family:"Open Sans";font-weight:400;font-display:swap;src:url(/static/fonts/open-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-weight:600;font-display:swap;src:url(/static/fonts/open-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Open Sans";font-weight:700;font-display:swap;src:url(/static/fonts/open-sans-latin-700-normal.woff2) format("woff2")}
:root{
  --bar:#0d5880; --bar-d:#0a4766; --acc:#0d5880; --link:#0f6b9c; --hl:#e8ad1c; --hl-l:#fbf3dc;
  --bg:#ececec; --card:#fff; --ink:#1c2630; --mut:#5b6670; --line:#d9dcdf; --line2:#e9ebed;
  --t:#1d6b45; --tbg:#e2f2e9; --v:#8a5a00; --vbg:#fdf3df; --warn:#b03a12; --wbg:#fdece4;
  --term:#123f5e; --vor:#c98a10;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:15px/1.45 "Open Sans","Segoe UI",system-ui,sans-serif}
a{color:var(--link)}
svg.i{width:24px;height:24px;flex:none}
h1{font-size:22px;margin:0 0 6px}h2{font-size:18px;margin:24px 0 8px}h3{font-size:15px;margin:0 0 8px}
.mut,.lead{color:var(--mut)}.sub{color:var(--mut);font-size:13px}
main.full{max-width:none;margin:0;padding:0 0 60px}
main.full>.pad{padding:14px 16px}

/* ---------- Kopfleiste ---------- */
.wsbar{background:var(--bar);color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:5px 12px;position:sticky;top:0;z-index:1002;min-height:44px}
.wsbar .firm{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wsel{display:flex;align-items:center;background:#fff;border-radius:3px;padding:0 6px;height:32px;gap:2px;min-width:0}
.wsel>*{color:var(--bar);background:none;border:0;cursor:pointer;display:flex;align-items:center;padding:0 5px;height:100%;text-decoration:none;font:inherit}
.wsel svg.i{width:21px;height:21px}
.wsel .wsname{gap:8px;font-size:17px;padding-right:22px;min-width:0}
.wsel .wsname span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsel .wsname b{font-weight:700}
.wsel .gelb{color:var(--hl)}
@media(max-width:820px){.wsbar{grid-template-columns:auto 1fr}.wsbar .firm{display:none}.wsbar .sp{display:none}.wsel .wsname{font-size:15px;padding-right:6px}}

/* ---------- Navigation ---------- */
.navbar{background:var(--card);border-bottom:1px solid #b9c3cb;display:flex;align-items:center;gap:6px;padding:0 0 0 6px;position:sticky;top:44px;z-index:1001;min-height:50px}
.navbar .nb-back{color:var(--bar);display:flex;padding:8px}
.navbar .logo{display:flex;text-decoration:none;margin-right:6px}
.navbar .logo span{width:36px;height:36px;border-radius:50%;border:3px solid var(--bar);color:var(--bar);font:700 21px/30px "Open Sans",sans-serif;text-align:center;display:block}
.nbl{flex:1;display:flex;justify-content:center;gap:4px;flex-wrap:wrap}
.nbl a{padding:5px 18px;color:var(--bar);text-decoration:none;font-size:14.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;border:1px solid transparent;border-radius:3px}
.nbl a:hover{background:#f3f5f7}.nbl a.on{background:#e9ecef;border-color:#cfd5da}
.nb-help{background:none;border:0;color:var(--ink);cursor:pointer;padding:6px;display:flex}.nb-help svg.i{width:30px;height:30px}
details.nb-menu{position:relative;align-self:stretch}
details.nb-menu>summary{list-style:none;cursor:pointer;background:var(--bar);color:#fff;height:100%;width:50px;display:flex;align-items:center;justify-content:center}
details.nb-menu>summary::-webkit-details-marker{display:none}details.nb-menu>summary svg.i{width:30px;height:30px}
@media(max-width:820px){.navbar{top:42px;flex-wrap:wrap}.nbl{order:5;flex:0 0 100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;border-top:1px solid var(--line2)}.nbl a{padding:6px 10px;font-size:13px}.navbar .logo{margin-right:auto}}

/* ---------- Werkzeugleiste ---------- */
.toolbar{display:flex;justify-content:center;flex-wrap:wrap;background:var(--card);border-bottom:1px solid #b9c3cb;padding:4px 8px}
.tb{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;background:none;border:0;border-right:1px solid var(--line);color:var(--bar);font:inherit;font-size:12px;padding:4px 14px 2px;cursor:pointer;text-decoration:none;min-width:88px}
.tb:last-child,.tb.last{border-right:0}.tb svg.i{width:36px;height:36px;stroke-width:1.3}
.tb:hover{background:#f3f5f7}.tb.on{color:var(--hl)}.tb.warn,.tb.fett{font-weight:700}
details.cm>summary.tb{font-size:12px;color:var(--bar);height:100%}

/* ---------- Bausteine ---------- */
.btn{background:var(--bar);color:#fff;border:1px solid var(--bar);border-radius:3px;padding:7px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.btn.sec{background:#fff;color:var(--bar)}.btn.sm{padding:4px 10px;font-size:13px}.btn svg.i{width:20px;height:20px}
.btn.caps{text-transform:uppercase;letter-spacing:.04em;font-size:14px}
input,select,textarea{font:inherit;padding:6px 8px;border:1px solid #c3c9ce;border-radius:2px;background:#fff;color:var(--ink)}
.note{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--bar);padding:12px 14px;margin:16px}
.warn{background:var(--wbg);color:var(--warn);padding:8px 10px;margin:10px 16px;font-size:14px}
.hint{text-align:center;color:var(--mut);margin:10px 0}.hint a{color:var(--link)}
pre.log{background:var(--card);border:1px solid var(--line);padding:10px;font-size:12px;white-space:pre-wrap;max-height:260px;overflow:auto;margin:0 16px}
.tm{display:inline-block;background:#e9ecef;border-radius:3px;font-size:15px;font-weight:700;padding:1px 0;min-width:58px;text-align:center}
.k{font-size:12px;padding:1px 7px;border-radius:9px;white-space:nowrap}.k-ue{background:var(--wbg);color:var(--warn)}.k-f{background:var(--vbg);color:var(--v)}
.k-n{background:var(--tbg);color:var(--t)}.k-o{background:#f1f2f3;color:var(--mut)}
.login{max-width:360px;margin:12vh auto;background:var(--card);border:1px solid var(--line);padding:22px}
.login label{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:13px;color:var(--mut)}

/* Menüs und Dialoge */
details.cm{position:relative}details.cm>summary{list-style:none;cursor:pointer;color:var(--bar);padding:4px 8px;display:flex}
details.cm>summary::-webkit-details-marker{display:none}
.menu{position:absolute;right:0;top:100%;background:var(--card);border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.2);min-width:270px;z-index:1100;overflow:hidden}
.menu .mh{background:var(--hl);color:#fff;font-size:13px;font-weight:700;letter-spacing:.05em;padding:8px 14px;text-transform:uppercase}
.menu form{margin:0}
.menu button,.menu a.mi{display:block;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line2);padding:9px 16px;font:inherit;font-size:15px;color:var(--link);cursor:pointer;text-decoration:none}
.menu button:hover,.menu a.mi:hover{background:#f3f5f7}.menu .sep{font-size:12px;color:var(--mut);padding:8px 16px 2px;border-top:1px solid var(--line)}
dialog{border:0;padding:0;min-width:340px;max-width:94vw;background:var(--card);color:var(--ink);box-shadow:0 12px 40px rgba(0,0,0,.35)}
dialog::backdrop{background:rgba(0,0,0,.35)}
dialog .dh{background:var(--hl);color:#fff;padding:10px 16px;font-weight:700;font-size:14px;letter-spacing:.05em;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center;gap:12px}
dialog .dh a{color:#fff;display:flex}dialog .dh svg.i{width:20px;height:20px}
dialog .db{padding:16px}dialog label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--mut);margin-bottom:12px}
dialog .df{display:flex;gap:10px;justify-content:center;padding:0 16px 16px}
dialog.pm{min-width:340px}.pmb{padding:4px 0}.pmk{padding:8px 18px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}
.pmb button,.pmb a{display:block;width:100%;text-align:left;background:none;border:0;padding:10px 22px;font:inherit;font-size:16px;color:var(--link);cursor:pointer;text-decoration:none}
.pmb button:hover,.pmb a:hover{background:#f3f5f7}.pmb .pms{border-top:1px solid var(--line);margin:4px 12px}

/* ---------- Karten (Abschnitte) ---------- */
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px}
@media(max-width:1000px){.cols3{grid-template-columns:1fr}}
.sec{background:var(--card);border:1px solid #d5d9dd;margin-bottom:10px}
.sec>h4{margin:0;padding:9px 12px;font-size:14.5px;font-weight:600;color:var(--bar);letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid var(--hl);display:flex;justify-content:space-between;align-items:center}
.sec>h4 svg.i{width:22px;height:22px}
.sec .sb{padding:10px 12px;font-size:15px}
.acts{display:flex;border-top:0;padding:6px 0 10px}
.acts>*{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--bar);text-decoration:none;font:inherit;font-size:12px;background:none;border:0;border-right:1px solid var(--line);cursor:pointer;padding:4px}
.acts>*:last-child{border-right:0}.acts svg.i{width:36px;height:36px;stroke-width:1.25}.acts>*:hover{background:#f6f7f8}
.kv{display:grid;grid-template-columns:auto 1fr;gap:2px 14px}.kv>span:nth-child(odd){color:var(--ink)}.kv>span:nth-child(even){font-weight:700}
.kv.plain>span:nth-child(even){font-weight:400}
.lrow{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--line2);color:var(--ink);text-decoration:none}
.lrow:hover{background:#f6f7f8}.lrow .grow{flex:1;min-width:0}.lrow svg.i{color:var(--bar)}
.more{display:block;text-align:center;padding:10px;color:var(--link);text-decoration:none;border-top:1px solid var(--line2)}
.center{text-align:center}

/* ---------- Kundenliste ---------- */
.sbar{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#e4e6e8;border-bottom:1px solid var(--line);padding:10px}
.sbar form{display:flex}.sbar input{width:240px;border-right:0;height:32px}
.sbar .go{background:var(--bar);color:#fff;border:0;width:38px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:0 2px 2px 0}
.sbar .go svg.i{width:20px;height:20px}.sbar .r{display:flex;gap:8px}
.lhead{display:flex;justify-content:space-between;align-items:center;background:var(--card);padding:10px;border-bottom:1px solid var(--line)}
.lhead .tb{border:0;min-width:0;padding:0 6px}.lhead .tb svg.i{width:34px;height:34px}
.klist{background:var(--card)}
.grp{background:var(--card);color:var(--hl);font-weight:700;font-size:15px;padding:6px 10px;border-top:8px solid var(--bg);border-bottom:1px solid var(--line)}
.grp.first{border-top:0}
.krow{display:grid;grid-template-columns:minmax(0,1.6fr) 70px minmax(0,1fr) minmax(0,1.9fr);gap:10px;padding:6px 10px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);align-items:center}
.krow:hover{background:#f6f8fa}.krow b{font-weight:700}.krow .c2{text-align:center}
.krow .c1,.krow .c3,.krow .c4{min-width:0}.krow .l2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.krow .c4 .l2{font-weight:600}
@media(max-width:800px){.krow{grid-template-columns:minmax(0,1fr) 60px}.krow .c3,.krow .c4{display:none}}
.klist .row{display:flex;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);align-items:center}
.klist .row:hover{background:#f6f8fa}.klist .c1{flex:1;min-width:0}.klist .c4{width:220px;font-size:13px;color:var(--mut)}
.sym{display:inline-block;width:1.3em;text-align:center}
.weiter{display:block;text-align:center;padding:12px;background:var(--card);color:var(--link)}

/* ---------- Besuchsplan ---------- */
.weeknav{display:flex;justify-content:center;align-items:center;gap:8px;background:var(--card);padding:8px;border-bottom:1px dotted #c7ccd1}
.weeknav select{font-size:16px;padding:3px 6px}
.weeknav .pfeil{color:var(--ink);text-decoration:none;display:flex;padding:2px}.weeknav .pfeil svg.i{width:26px;height:26px;stroke-width:2}
.weeknav .pfeil.aus{visibility:hidden}
.daytabs{display:flex;justify-content:center;align-items:center;gap:4px;flex-wrap:wrap;background:var(--card);padding:6px;border-bottom:1px solid #c7ccd1}
.daytabs a{padding:2px 6px;color:var(--ink);text-decoration:none;font-size:17px}
.daytabs a.on{background:var(--hl);color:#fff}.daytabs a.gr{color:var(--bar);display:flex;margin-right:6px}.daytabs a.gr svg.i{width:34px;height:34px;stroke-width:1.3}
.daytabs a.gr.on{background:none;color:var(--hl)}
.plan{background:var(--card)}
.prow{display:flex;align-items:center;gap:10px;padding:7px 12px 7px 70px;border-bottom:1px solid var(--line);position:relative;min-height:54px}
.prow .t{font-size:15px;color:var(--ink)}.prow .n{font-weight:700;font-size:16px}.prow .n a{color:inherit;text-decoration:none}.prow .n a:hover{text-decoration:underline}
.prow.fahrt{background:#ebedef;color:var(--mut);font-size:15px;min-height:0;padding:5px 12px 5px 70px}
.prow.pause{background:#ebedef;color:var(--mut);font-size:15px;min-height:0;padding:5px 12px 5px 70px}
.prow.ist-termin{box-shadow:inset 7px 0 0 var(--bar)}
.prow .ic{position:absolute;left:20px;top:50%;transform:translateY(-50%);color:var(--bar)}.prow .ic svg.i{width:30px;height:30px;stroke-width:1.3}
.prow .grow{flex:1;min-width:0}.prow .sub{font-size:13px}
.prow details.cm>summary svg.i{width:32px;height:32px;stroke-width:1.2}
.prow.sum{border-top:1px solid var(--hl);border-bottom:1px solid var(--hl);font-size:16px}
.wtag{background:var(--card);border-bottom:1px solid var(--line);display:grid;grid-template-columns:150px 1fr auto;gap:12px;align-items:center;padding:10px 16px;text-decoration:none;color:var(--ink)}
.wtag:hover{background:#f6f8fa}.wtag b{font-size:17px}.wtag .farb{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px}

/* Kartenmodus */
.kartemodus .kwrap{position:relative}
.kartemodus .karte{height:calc(100vh - 44px - 50px - 48px - 46px - 56px);min-height:380px;border:0;border-radius:0}
.karte{height:420px;border:1px solid var(--line);z-index:1;background:#e5e3df}
.karte.klein{height:250px;border-width:1px 0}
.kctl{position:absolute;z-index:500;display:flex;gap:6px}
.kctl.tl{left:10px;top:10px;flex-direction:column}.kctl.tr{right:10px;top:10px}
.kctl button,.kctl a{width:40px;height:40px;background:var(--bar);color:#fff;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:2px;text-decoration:none}
.kctl button svg.i,.kctl a svg.i{width:26px;height:26px;stroke-width:2}
.kctl button.hell{background:#fff;color:var(--bar);box-shadow:0 1px 4px rgba(0,0,0,.3)}
.leaflet-control-zoom{display:none}
.stopbar{display:flex;align-items:center;background:var(--card);border-top:1px solid var(--line);height:56px}
.stopbar button{background:none;border:0;color:var(--bar);cursor:pointer;height:100%;padding:0 14px;display:flex;align-items:center}
.stopbar button svg.i{width:28px;height:28px}.stopbar button:disabled{color:#c3c9ce;cursor:default}
.stopbar .stp{flex:1;border-left:2px dotted var(--hl);border-right:2px dotted var(--hl);padding:4px 12px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.stopbar .stp a{color:var(--link);text-decoration:none}
.kpin{background:none;border:0}
.blase{position:absolute;left:0;bottom:0;transform:translate(-50%,-10px);background:#fff;border:2px solid var(--ink);border-radius:3px;padding:1px 4px;font:600 12px/1.15 "Open Sans",sans-serif;color:var(--ink);text-align:center;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.blase:after{content:"";position:absolute;left:50%;bottom:-8px;margin-left:-7px;border:7px solid transparent;border-bottom:0;border-top-color:inherit}
.blase.termin{background:#e7f1f8;border-color:var(--bar);color:var(--bar)}
.blase.vorschlag{background:#fff8e6;border-color:var(--vor);color:#6b4500}
.blase.heim{background:#fff;border-color:#222}.blase.hotel{background:#f1ebf8;border-color:#6b3fa0;color:#4a2a70}
.blase.sel{outline:3px solid var(--hl)}
.punkt span{display:block;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 2px rgba(0,0,0,.6)}
.leaflet-popup-content{font:13px/1.4 "Open Sans",sans-serif}.leaflet-popup-content a{color:var(--link)}
.klg{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--mut);padding:6px 10px;background:var(--card)}
.klg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:-1px}

/* ---------- Kalender ---------- */
.calbar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card);border-bottom:1px solid var(--line);padding:6px 10px}
.calbar .pn{display:flex;border:1px solid var(--bar);border-radius:2px;overflow:hidden}
.calbar .pn a{padding:2px 16px;color:var(--bar);text-decoration:none;font-size:20px;line-height:1.2}.calbar .pn a+a{border-left:1px solid var(--bar)}
.calbar .mon{border:0;background:none;color:var(--bar);font-size:18px;text-align:center}
.mcal{background:var(--card)}
.mcal .mh,.mcal .mw{display:grid;grid-template-columns:30px repeat(5,minmax(0,1fr))}
.mcal .mh span{text-align:center;font-size:14px;color:var(--mut);padding:2px 0;border-bottom:3px solid var(--hl)}
.mcal .mw{border-bottom:3px solid var(--hl);min-height:150px}
.mcal .kw{color:var(--mut);font-size:19px;padding:6px 2px;text-align:center}
.mcal .md{border-left:1px solid var(--line);padding-bottom:6px;min-width:0}
.mcal .md.aus{background:#f6f6f6}.mcal .md.aus .dn span{color:var(--mut)}
.mcal .md.heute .dn span{background:var(--hl);color:#fff;padding:0 6px}
.mcal .dn{display:flex;align-items:center;gap:8px;padding:4px 6px;font-size:21px}
.mcal .dn a{color:var(--ink);display:flex}.mcal .dn a svg.i{width:20px;height:20px}
.me{margin:0 0 1px;padding:3px 5px;font-size:13px;line-height:1.3;border:1px solid transparent;overflow:hidden;text-overflow:ellipsis}
.me b{font-variant-numeric:tabular-nums;font-weight:700;margin-right:3px}.me .ma{font-size:12.5px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me.termin{background:var(--term);color:#fff;cursor:pointer}.me.termin b{color:#ffd28a}
.me.vorschlag{background:var(--vbg);color:var(--v);border:1px dashed var(--v);cursor:pointer}
.me.ort{background:#eef0f2;color:var(--link);border-color:var(--line)}
.me.termin:hover,.me.vorschlag:hover,.me:focus-visible{outline:2px solid var(--hl);outline-offset:-1px}
.me.st-wahrgenommen{background:#2f6b4f}.me.st-nicht-angetroffen{background:#7a3b2a}
.me.ausgeschl{background:repeating-linear-gradient(135deg,var(--term) 0 6px,#2a5578 6px 12px)}
.me.leg{display:inline-block;padding:1px 8px;margin:2px}
@media(max-width:900px){.mcal .mh{display:none}.mcal .mw{grid-template-columns:1fr}.mcal .kw{text-align:left}.mcal .md{border-left:0;border-top:1px solid var(--line)}}

/* ---------- Plantafel / Optionen ---------- */
.pt{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);font-size:14px}
.pt th,.pt td{border:1px solid var(--line);padding:6px 8px;text-align:center}.pt td:first-child,.pt th:first-child{text-align:left}
.pt .v{color:var(--v)}.pt .tt{color:var(--t);font-weight:600}.pt .leer{color:var(--warn)}
.tw{overflow-x:auto;padding:0 16px}
.optgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px}@media(max-width:900px){.optgrid{grid-template-columns:1fr}}
main.full>h2,main.full>.lead,main.full>p.mut{padding:0 16px}
.kartemodus .kwrap:fullscreen .karte{height:100vh}
.kwrap:fullscreen{background:#fff}
.acts form{display:flex}.acts form .ab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;color:inherit;font:inherit;font-size:12px;cursor:pointer}
.acts button:disabled{opacity:.4;cursor:default}
.nahgrid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media(max-width:760px){.nahgrid{grid-template-columns:1fr}}
.brow{display:grid;grid-template-columns:110px minmax(0,1.5fr) minmax(0,1fr);gap:10px;padding:7px 10px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;background:var(--card)}
.brow:hover{background:#f6f8fa}.brow .l2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){.sbar{flex-wrap:wrap}.sbar form{flex:1}.sbar input{width:100%}.sbar .r{width:100%}.sbar .r .btn{flex:1;justify-content:center}
.prow,.prow.fahrt,.prow.pause{padding-left:52px}.prow .ic{left:12px}.toolbar .tb{min-width:0;padding:4px 8px}}

/* ---------- v0.8.1 kompakter: kleinere Schrift, engere Abstände ---------- */
body{font-size:13.5px;line-height:1.38}
h1{font-size:19px}h2{font-size:16px}.sub{font-size:12px}
svg.i{width:20px;height:20px}
.wsbar{min-height:38px;padding:3px 10px}.wsbar .firm{font-size:13.5px}
.wsel{height:28px}.wsel .wsname{font-size:15px}.wsel svg.i{width:18px;height:18px}
.navbar{top:38px;min-height:42px}
.navbar .logo span{width:30px;height:30px;border-width:2.5px;font-size:17px;line-height:25px}
.nbl a{padding:3px 13px;font-size:13px}
.nb-help svg.i{width:25px;height:25px}
details.nb-menu>summary{width:42px}details.nb-menu>summary svg.i{width:25px;height:25px}
.toolbar{padding:2px 8px}
.tb{font-size:11px;padding:2px 10px 1px;min-width:72px;gap:1px}.tb svg.i{width:28px;height:28px}
details.cm>summary.tb{font-size:11px}
.btn{padding:5px 12px}.btn.sm{padding:3px 8px;font-size:12px}.btn.caps{font-size:12.5px}.btn svg.i{width:17px;height:17px}
input,select,textarea{padding:4px 7px}
.menu button,.menu a.mi{padding:7px 14px;font-size:13.5px}.menu .mh{padding:6px 12px;font-size:12px}
dialog .dh{padding:8px 14px;font-size:13px}dialog .db{padding:12px}
.pmb button,.pmb a{padding:7px 18px;font-size:14px}
/* Abschnitte */
.cols3{gap:8px;padding:8px}.sec{margin-bottom:8px}
.sec>h4{padding:6px 10px;font-size:13px}.sec>h4 svg.i{width:18px;height:18px}
.sec .sb{padding:7px 10px;font-size:13.5px}
.acts{padding:3px 0 6px}.acts>*{font-size:11px}.acts svg.i{width:28px;height:28px}.acts form .ab{font-size:11px}
.kv{gap:1px 12px}.lrow{padding:6px 10px}.more{padding:7px}
/* Kundenliste */
.sbar{padding:6px 10px}.sbar input{height:28px;width:220px}.sbar .go{height:28px;width:32px}
.lhead{padding:6px 10px}.lhead .tb svg.i{width:28px;height:28px}
.grp{font-size:13px;padding:4px 10px;border-top-width:6px}
.krow{padding:4px 10px;gap:8px}
.tm{font-size:13px;min-width:46px;padding:0}
.brow{padding:5px 10px}
/* Besuchsplan */
.weeknav{padding:5px}.weeknav select{font-size:14px;padding:2px 5px}.weeknav .pfeil svg.i{width:22px;height:22px}
.daytabs{padding:4px}.daytabs a{font-size:15px;padding:1px 5px}.daytabs a.gr svg.i{width:27px;height:27px}
.prow{padding:5px 10px 5px 56px;min-height:42px}
.prow .t{font-size:13px}.prow .n{font-size:14px}
.prow.fahrt,.prow.pause{font-size:13px;padding:3px 10px 3px 56px}
.prow .ic{left:16px}.prow .ic svg.i{width:24px;height:24px}
.prow details.cm>summary svg.i{width:26px;height:26px}
.prow.sum{font-size:14px}
.wtag{padding:7px 14px;grid-template-columns:130px 1fr auto}.wtag b{font-size:15px}
.kartemodus .karte{height:calc(100vh - 38px - 42px - 38px - 38px - 46px)}
.kctl button,.kctl a{width:34px;height:34px}.kctl button svg.i,.kctl a svg.i{width:22px;height:22px}
.stopbar{height:46px}.stopbar button svg.i{width:24px;height:24px}.stopbar .stp{padding:2px 10px;font-size:13px}
.blase{font-size:11px;padding:0 3px}
/* Kalender */
.calbar{padding:4px 10px}.calbar .pn a{padding:0 13px;font-size:17px}.calbar .mon{font-size:16px}
.mcal .mh span{font-size:12.5px}.mcal .mw{min-height:120px}
.mcal .kw{font-size:15px;padding:4px 2px}.mcal .dn{font-size:17px;padding:2px 6px}.mcal .dn a svg.i{width:17px;height:17px}
.me{font-size:12px;padding:2px 4px}.me .ma{font-size:11.5px}
@media(max-width:820px){.navbar{top:36px}}

/* ---------- Kundenkarte (Pins, Legende, Optionen, Markiermodus) ---------- */
.kartemodus .kk .karte{height:calc(100vh - 38px - 42px)}
.kk .kctl.tr{top:10px;right:10px}
.kk-info{position:absolute;left:58px;top:12px;z-index:500;background:rgba(255,255,255,.92);padding:3px 8px;font-size:12px;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.pin{position:absolute;left:0;bottom:0;transform:translate(-50%,-9px);min-width:20px;height:20px;padding:0 3px;background:var(--c);border:1.5px solid rgba(0,0,0,.45);border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(0,0,0,.35);cursor:pointer}
.pin:after{content:"";position:absolute;left:50%;bottom:-8px;margin-left:-6px;border:6px solid transparent;border-bottom:0;border-top-color:var(--c);filter:drop-shadow(0 1.5px 0 rgba(0,0,0,.4))}
.pin i{font-style:normal;font-size:10px;line-height:1}
.pin.lab{height:auto;padding:1px 4px;min-width:30px}
.pin.lab b{font:600 10.5px/1.15 "Open Sans",sans-serif;color:#1c2630}
.pin.mk{outline:3px solid #1e90ff;outline-offset:1px;filter:brightness(1.08)}
.karte.lasso{cursor:crosshair}.karte.lasso .leaflet-marker-icon{pointer-events:none}
.kk-markbar{position:absolute;z-index:600;top:10px;left:50%;transform:translateX(-50%);display:flex;gap:2px;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.kk-markbar button{background:var(--bar);color:#fff;border:0;height:34px;padding:0 12px;font:600 14px "Open Sans",sans-serif;cursor:pointer;display:flex;align-items:center}
.kk-markbar button:disabled{cursor:default;font-weight:400;opacity:.95}.kk-markbar .kk-lasso.an{background:#1e90ff}
.kk-markbar svg.i{width:22px;height:22px}
.kk-panel{position:absolute;z-index:650;right:10px;top:54px;width:270px;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.3);border:1px solid var(--line)}
.kk-panel .dh{background:var(--bar);color:#fff;padding:7px 12px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center}
.kk-panel .dh button{background:none;border:0;color:#fff;cursor:pointer;display:flex}.kk-panel .dh svg.i{width:18px;height:18px}
.kk-panel .db{padding:8px 10px}.kk-panel label{display:block;margin-bottom:7px}.kk-panel select{width:100%}
.kk-link{display:block;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line2);padding:7px 2px;font:inherit;color:var(--link);cursor:pointer}
.kk-legende{top:auto;bottom:58px}
.kk-li{display:flex;align-items:center;gap:10px;padding:6px 12px;border-top:1px solid var(--line2);cursor:pointer}.kk-li:hover{background:#f6f8fa}
.kk-sw{width:20px;height:20px;background:var(--c);border:1.5px solid rgba(0,0,0,.4);border-radius:2px;flex:none}
.kk-sw.alle{background:linear-gradient(135deg,#e5534b 0 33%,#f5cf3b 33% 66%,#8fdc4a 66%)}
.auge{width:22px;height:14px;flex:none;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'%3E%3Cpath d='M12 1C6 1 2 8 2 8s4 7 10 7 10-7 10-7-4-7-10-7z' fill='%230d5880'/%3E%3Ccircle cx='12' cy='8' r='3.3' fill='%23fff'/%3E%3C/svg%3E")}
.auge.zu{opacity:.3}
.kk-leg{position:absolute;z-index:500;right:10px;bottom:22px;width:38px;height:38px;background:var(--bar);color:#fff;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:2px}
.kk-aktionen{display:flex;flex-wrap:wrap;gap:6px;padding:10px;border-bottom:1px solid var(--line)}
.kk-toast{position:absolute;z-index:700;left:50%;bottom:30px;transform:translateX(-50%);background:#1c2630;color:#fff;padding:8px 14px;border-radius:3px;font-size:13px;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.kinfo{font:13px/1.4 "Open Sans",sans-serif;min-width:240px}.kinfo .kn{font-weight:700;font-size:14px;color:var(--link);text-decoration:none}
.kinfo .ks{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.kinfo table{border-collapse:collapse}.kinfo td{padding:0 10px 0 0}
.kinfo .k{font-size:11px}
/* Druckmodus: nur die Karte */
body.druckmodus .wsbar,body.druckmodus .navbar,body.druckmodus .kctl,body.druckmodus .kk-leg,body.druckmodus .kk-markbar{display:none!important}
body.druckmodus.kartemodus .kk .karte{height:100vh}
@media print{.wsbar,.navbar,.kctl,.kk-leg,.kk-panel,.kk-markbar,.toolbar{display:none!important}.kartemodus .kk .karte{height:100vh}}
.kk-markbar[hidden],.kk-panel[hidden]{display:none}
.kk-li .grow{flex:1;min-width:0}

/* Kopfleiste im Gawado-Grün (Markenfarbe von gawado.com), damit man sie von portatour unterscheidet */
:root{--gawado:#52ab32;--gawado-d:#3b7d24}
.wsbar{background:var(--gawado);border-bottom:1px solid var(--gawado-d)}
.wsbar .firm{text-shadow:0 1px 1px rgba(0,0,0,.25)}
.wsel{box-shadow:0 0 0 1px var(--gawado-d)}
.mcal .dn .dsum{margin-left:auto;font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.mcal .dn .dsum b{color:var(--ink)}
.bhead{background:var(--card);text-align:center;font-weight:700;padding:8px;border-top:8px solid var(--bg);border-bottom:1px solid var(--line)}
.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}@media(max-width:640px){.rgrid{grid-template-columns:1fr}}
.rh{margin:6px 0 6px;color:var(--bar);font-size:13px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--hl);padding-bottom:3px}
.rgrid label{color:var(--ink)}
.sec>h4 .ed{background:none;border:0;color:var(--bar);cursor:pointer;display:flex;padding:0}

/* =====================================================================
   Handy (iPhone 16 / Samsung S25 Ultra, ca. 390–440 px Breite)
   ===================================================================== */
.m-only{display:none}
@media (max-width:820px){
  .m-only{display:revert}
  body{font-size:14.5px;padding-bottom:calc(58px + env(safe-area-inset-bottom))}
  /* iOS zoomt bei Eingabefeldern unter 16 px – daher 16 px */
  input,select,textarea{font-size:16px}
  /* Kopf: eine Zeile mit Zurück, Arbeitsbereich, Menü */
  .wsbar{display:flex;gap:6px;padding:calc(4px + env(safe-area-inset-top)) 6px 4px;min-height:48px;top:0}
  .wsbar .firm,.wsbar .sp{display:none}
  .wsbar .m-back{color:#fff;display:flex;padding:6px 2px}.wsbar .m-back svg.i{width:24px;height:24px}
  .wsel{flex:1;height:36px;min-width:0}
  .wsel .wsname{font-size:15px;padding-right:4px;flex:1}
  .wsel .wsname svg.i{display:none}
  .wsel>*{padding:0 6px}.wsel svg.i{width:20px;height:20px}
  .wsbar details.m-menu{display:block}
  .wsbar details.m-menu>summary{background:none;width:40px;height:40px}
  .wsbar .menu{top:calc(100% + 6px)}
  .navbar{display:none}
  /* Werkzeugleiste: eine Zeile, seitlich wischbar */
  .toolbar{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 4px}
  .toolbar::-webkit-scrollbar{display:none}
  .tb{min-width:76px;flex:none;padding:4px 8px 2px}.tb svg.i{width:26px;height:26px}
  .toolbar details.cm{position:static}.toolbar details.cm .menu{position:fixed;left:8px!important;right:8px!important;top:auto;bottom:calc(66px + env(safe-area-inset-bottom));max-height:65vh;overflow:auto}
  /* Untere Navigation wie in Apps */
  .botnav{position:fixed;left:0;right:0;bottom:0;z-index:1500;display:flex;background:#fff;border-top:1px solid #c9ced3;
    padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 8px rgba(0,0,0,.08)}
  .botnav>a,.botnav>details>summary{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:56px;
    color:#5b6670;text-decoration:none;font-size:11px;list-style:none;cursor:pointer}
  .botnav>details{flex:1;position:relative}.botnav>details>summary::-webkit-details-marker{display:none}
  .botnav svg.i{width:24px;height:24px}
  .botnav .on{color:var(--bar);font-weight:700}.botnav .on svg.i{stroke-width:2}
  .botnav .menu{top:auto;bottom:calc(100% + 6px);right:6px;min-width:200px}
  /* Inhalte */
  main.full{padding-bottom:12px}
  .lhead .tb{min-width:0}
  .sbar{flex-wrap:wrap}.sbar form{flex:1 1 100%}.sbar input{width:100%;height:38px}.sbar .go{height:38px;width:44px}
  .sbar .r{width:100%}.sbar .r .btn{flex:1;justify-content:center}
  .krow{padding:8px 10px}
  .brow{grid-template-columns:1fr;gap:2px;padding:8px 10px}
  .brow>span:first-child{display:flex;gap:8px;align-items:baseline}.brow>span:first-child div{display:inline}
  .prow{padding:8px 8px 8px 50px;min-height:50px}.prow .ic{left:12px}
  .prow.fahrt,.prow.pause{padding-left:50px}
  .prow details.cm>summary{padding:8px}
  .wtag{grid-template-columns:1fr auto;padding:10px 12px}.wtag>span:nth-child(2){grid-column:1/2}
  .weeknav select{max-width:70vw}
  .daytabs a{font-size:16px;padding:4px 7px}
  .cols3,.optgrid{padding:6px;gap:6px}
  .acts>*{padding:8px 4px}
  /* Kalender: nur Tage des Monats, Tageswerte unter dem Datum */
  .mcal .md.aus{display:none}
  .mcal .mw{min-height:0;border-bottom-width:2px}
  .mcal .kw{font-size:13px;padding:4px 8px;background:#f3f4f5;border-bottom:1px solid var(--line)}
  .mcal .dn{flex-wrap:wrap;font-size:17px;padding:6px 8px}
  .mcal .dn .dsum{flex:1 1 100%;margin-left:0;white-space:normal;font-size:12px}
  .me{font-size:13.5px;padding:5px 8px;margin:0 6px 2px}
  .calbar{flex-wrap:wrap}.calbar .mon{order:-1;flex:1 1 100%}
  /* Dialoge fast bildschirmfüllend, unten mit Platz */
  dialog{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;min-width:0!important;max-height:calc(100dvh - 32px)}
  dialog .db{max-height:calc(100dvh - 160px);overflow:auto}
  .rgrid{grid-template-columns:1fr}
  .menu{min-width:220px;max-width:calc(100vw - 16px)}
  .menu button,.menu a.mi{padding:11px 16px;font-size:15px}
  /* Karten */
  .kctl button,.kctl a{width:40px;height:40px}
  .kk-panel{left:8px;right:8px;width:auto}
  .kk-info{left:56px;right:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .kk-markbar{left:8px;right:8px;transform:none;top:auto;bottom:60px}.kk-markbar .kk-n{flex:1;font-size:13px}
  .kk-leg{bottom:12px}
  .stopbar{height:54px}.stopbar .stp{font-size:13px;white-space:normal;line-height:1.3}
  .leaflet-popup-content{max-width:72vw}
  /* Tabellen seitlich scrollbar */
  .tw{padding:0 6px}
  .pt{font-size:13px}
  .note,.warn{margin:8px}
  .login{margin:8vh 12px}
}
@media (max-width:820px){
  .mcal .mw.leer{display:none}
  .toolbar .tb,.toolbar details.cm>summary.tb{flex:1 1 0;min-width:0;padding:4px 2px 2px;font-size:10.5px;line-height:1.15;text-align:center;white-space:normal}
  .toolbar details.cm{flex:1 1 0;min-width:0;display:flex}
  .toolbar form[style*="contents"] .tb{flex:1 1 0}
}
/* Kundenliste: Seitenanzeige, Markiermodus, erweiterte Suche */
.weiter b{font-weight:600;color:var(--ink)}
.markbar{position:sticky;bottom:0;z-index:20;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;background:#e4e6e8;border-top:1px solid var(--line);padding:8px}
.markbar>span{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.markbar .mb-an{display:none}body.markieren .markbar .mb-an{display:flex}body.markieren .markbar .mb-aus{display:none}
body.markieren .krow{cursor:pointer;padding-left:38px;position:relative}
body.markieren .krow:before{content:"";position:absolute;left:10px;top:50%;margin-top:-10px;width:18px;height:18px;border:2px solid var(--bar);border-radius:3px;background:#fff}
body.markieren .krow.mk{background:#e8f1f8}
body.markieren .krow.mk:before{background:var(--bar) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l5 5 9-10' stroke='%23fff' stroke-width='3' fill='none'/%3E%3C/svg%3E") center/14px no-repeat}
.markbar button:disabled{opacity:.5}
.regel{display:flex;gap:6px;margin-bottom:6px;align-items:center}.regel select{flex:1;min-width:0}.regel input{flex:1;min-width:0}
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px}.vgrid label{margin-bottom:6px;color:var(--ink)}
@media(max-width:820px){.vgrid{grid-template-columns:1fr}.regel{flex-wrap:wrap}.regel select,.regel input{flex:1 1 40%}
  .markbar{bottom:calc(57px + env(safe-area-inset-bottom))}.markbar .btn{flex:1 1 45%;justify-content:center}}
/* Bearbeiten-Seite */
.bkopf{background:var(--card);text-align:center;padding:10px;border-bottom:1px solid var(--hl)}
.sec.gelb>h4{background:var(--hl);color:#fff;border-bottom:0}
.alink{display:block;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line2);padding:9px 12px;font:inherit;color:var(--link);cursor:pointer}
.alink:first-child{border-top:0}.alink:hover{background:#f6f8fa}.alink:disabled{color:var(--mut);cursor:default}
.wt{display:grid;grid-template-columns:90px 1fr auto 1fr;gap:6px;align-items:center;margin-bottom:6px}
.lg-kopf{display:flex;align-items:center;gap:10px;margin-bottom:4px}.lg-kopf h1{font-size:20px;margin:0}
.lg-logo{width:34px;height:34px;border-radius:50%;background:var(--gawado,#52ab32);color:#fff;font:700 19px/34px "Open Sans",sans-serif;text-align:center;flex:none}
.lg-fuss{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0 0;font-size:12.5px;color:var(--mut)}
.lg-fuss a{color:var(--link)}
.version{color:var(--mut);font-size:11.5px;padding:6px 16px}

/* myFactory-Zuordnung (v0.13) */
.myf-x,.myf-h{display:inline-block;font-size:11px;font-weight:700;padding:0 6px;border-radius:3px;margin:0 4px 0 0;vertical-align:1px;white-space:nowrap}
.myf-x{background:#fdece4;color:#b03a12;border:1px solid #f0b9a2}.myf-h{background:#eceff2;color:#5b6670;border:1px solid #d5dade}
.me.ziel{outline:3px solid #e8ad1c;outline-offset:1px;animation:zielblink 1.2s ease 2}
@keyframes zielblink{50%{outline-color:transparent}}

/* Kalender v0.15: Tagesauswahl, Optionen, Woche/Tag, Berichte */
.calbar .calakt{display:flex;gap:6px;align-items:center}.calbar .calopt{padding:3px 6px}.calbar .calopt svg.i{width:20px;height:20px}
.calbar span.mon{color:var(--bar);font-size:17px;font-weight:600}
.mcal .dn .dnr{background:none;border:0;padding:0 4px;font:inherit;color:inherit;cursor:pointer;border-radius:2px}
.mcal .dn .dnr:hover{background:var(--hl-l);color:var(--bar)}
.mcal .md.heute .dn .dnr{background:var(--hl);color:#fff;padding:0 6px}
.mcal.z-tag .mh,.mcal.z-tag .mw{grid-template-columns:30px minmax(0,1fr)}
.mcal.z-woche .mw,.mcal.z-tag .mw{min-height:60vh}
.me .l1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.me .oa,.me .mn{display:none}
.mcal[data-beschriftung=ort] .me .nm,.mcal[data-beschriftung=ort] .me .ma,.mcal[data-beschriftung=nurort] .me .nm,
.mcal[data-beschriftung=nurort] .me .ma,.mcal[data-beschriftung=nurort] .me .mn{display:none}
.mcal[data-beschriftung=ort] .me .oa,.mcal[data-beschriftung=nurort] .me .oa{display:inline}
.mcal[data-beschriftung=ort] .me .mn{display:block;font-size:12px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcal.doppelt .me{padding-top:6px;padding-bottom:6px}.mcal.doppelt .me .l1,.mcal.doppelt .me .ma{white-space:normal}
.mcal.doppelt .mw{min-height:260px}
.me.bericht{background:#e9f3ee;color:#1d6b45;border:1px solid #b9dcc8;cursor:pointer}
.mcal[data-ansicht=plan] .me.bericht{display:none}
.mcal[data-ansicht=berichte] .me.termin,.mcal[data-ansicht=berichte] .me.vorschlag,.mcal[data-ansicht=berichte] .me.ort{display:none}
dialog.kopt{min-width:min(460px,94vw)}
.kopt .kog{font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--bar);border-bottom:2px solid var(--hl);padding:10px 0 3px;margin-bottom:10px}
.kopt .seg{display:flex;justify-content:center;margin-bottom:6px}
.kopt .seg button{border:1px solid var(--bar);background:#fff;color:var(--bar);font:inherit;font-size:13px;font-weight:700;text-transform:uppercase;padding:6px 14px;cursor:pointer}
.kopt .seg button+button{border-left:0}.kopt .seg button.on{background:var(--bar);color:#fff}
.pmb button.aus{color:var(--mut);cursor:default}

/* Gemeinsame Leiste Tourenplanung ↔ Dashboard (v0.16) */
.ckbar{--ck:#2f6f1d;position:sticky;top:0;z-index:1002;display:flex;align-items:stretch;gap:6px;background:var(--ck);color:#fff;min-height:48px;padding:0 0 0 12px}
.ckmarke{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;white-space:nowrap;font-size:15px}
.cklogo{width:28px;height:28px;border-radius:50%;background:#fff;color:var(--ck);display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.cknav{display:flex;align-items:stretch;gap:2px;margin-left:14px;overflow-x:auto;scrollbar-width:none}
.cknav a{display:flex;align-items:center;gap:6px;padding:0 12px;color:#e8f3e3;text-decoration:none;font-weight:600;white-space:nowrap;border-bottom:3px solid transparent}
.cknav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.cknav a.on{color:#fff;border-bottom-color:#9fdc7f;background:rgba(255,255,255,.12)}
.cknav a i{font-style:normal;background:#fff;color:var(--ck);border-radius:10px;padding:0 7px;font-size:12px;line-height:18px}
.ckbar .sp{flex:1}
.cktp{display:flex;align-items:center;gap:6px;color:#fff;text-decoration:none;padding:0 10px;font-weight:600;white-space:nowrap}
.cktp svg.i{width:20px;height:20px}
.ckmenu>summary{background:rgba(0,0,0,.15)!important}
.cknav a svg.i{width:18px;height:18px}
.cknav a.tpapp{border-right:1px solid rgba(255,255,255,.25);margin-right:4px}
.ckbar-tp{position:relative;min-height:36px;font-size:13.5px;z-index:1003}
.ckbar-tp .cklogo{width:24px;height:24px;font-size:13px}
@media (max-width:760px){.ckmarke span:last-child{display:none}.cknav{margin-left:4px}.cknav a{padding:0 8px}.ckbar-tp{min-height:34px}}
/* Optionen bearbeiten (v0.17) */
.sec h4 .oq{margin-left:8px;margin-right:auto;font-size:11px;font-weight:600;border-radius:5px;padding:1px 6px;background:#eceff2;color:#5b6670}
.sec h4 .oq.eigen{background:#e6f2df;color:#2f6f1d}
.sec h4 .ostift{float:right;border:0;background:none;cursor:pointer;padding:0 2px;color:inherit}
.sec h4 .ostift svg{width:16px;height:16px}
dialog .wt{grid-template-columns:150px 1fr}
/* v0.17: Abwesenheit, Termin ohne Ortsbezug, Aufgaben, Drag & Drop, Untermenüs */
.me.termin.art-abwesend{background:#8a8f96;color:#fff}.me.termin.art-abwesend b{color:#fff}
.me.termin.art-privat{background:#6b3fb3;color:#fff}.me.termin.art-privat b{color:#e5d8ff}
.me.aufgabe{background:#fff7e0;color:#6b4b00;border:1px solid #e3c36b;cursor:pointer}
.me.zieht{opacity:.45}.md.drop{background:#e6f2df!important;outline:2px dashed #2f6f1d;outline-offset:-3px}
.pmb button.sub-auf::after{content:"";}.pmb button.sub-auf.offen{background:#f3f5f7;font-weight:600}
.pmb .untermenue{border-left:3px solid #2f6f1d;margin:0 12px 4px 18px}.pmb .untermenue button{padding:6px 14px;font-size:14px}
.auftabs{display:flex;gap:2px;flex-wrap:wrap}.auftabs a{padding:5px 12px;border-radius:6px;text-decoration:none;color:inherit}
.auftabs a.on{background:#e6f2df;color:#2f6f1d;font-weight:600}.auftabs .cnt{font-size:11px;background:#eceff2;border-radius:8px;padding:0 6px;margin-left:3px}
.aufliste{max-width:900px;margin:10px auto;background:#fff;border:1px solid var(--line);border-radius:6px}
.aufliste .lrow{border-bottom:1px solid var(--line)}.aufliste .lrow:last-child{border-bottom:0}
.sub.rot,.aufliste .rot{color:#c0392b;font-weight:600}
.lrow form{margin:0}
.aufliste .acts form{display:flex;gap:6px;align-items:center}
.lrow form .ab{background:#fff;border:1px solid var(--line);border-radius:5px;padding:2px 8px;cursor:pointer;color:inherit}.lrow form .ab svg{width:14px;height:14px}
/* v0.18: Geeigneten Tag finden, Terminliste, Hinweise */
.umweg{display:inline-block;margin-left:6px;border-radius:9px;padding:0 8px;font-size:11.5px;line-height:17px;background:#eceff2;color:#333;white-space:nowrap}
.umweg.gruen{background:#7ee36b}.umweg.gelb{background:#ffd75e}.umweg.rot{background:#ff6b6b;color:#fff}
.calbar .fuer{font-size:13px;background:#fff7e0;border:1px solid #e3c36b;border-radius:6px;padding:2px 8px;margin-left:8px}
.calbar .fuer a{margin-left:6px;text-decoration:none;font-weight:700}
.kalhinweis{margin:6px 10px;background:#fff3d6;border-color:#ecd9a3}
.tlist{max-width:1100px;margin:8px auto 30px;background:#fff;border:1px solid var(--line);border-radius:6px}
.tlist .tg{background:#fff8e6;color:#b7791f;font-weight:700;padding:6px 12px;border-bottom:1px solid var(--line)}
.tlist .tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;padding:6px 12px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.tlist .tr:hover{background:#f3f5f7}.tlist .tr .z{font-size:12.5px;color:var(--mut)}.tlist .tr.erledigt{opacity:.6}
@media(max-width:700px){.tlist .tr{grid-template-columns:1fr}}
.tseg{display:inline-flex}.tseg a{border:1px solid #e0a100;padding:5px 14px;text-decoration:none;color:#333;font-size:13.5px}
.tseg a+a{border-left:0}.tseg a.on{background:#e0a100;color:#fff;font-weight:600}
.ohne-fahrten .prow.fahrt{display:none}
@media print{.appbar,.ckbar,.nb,.toolbar,.navbar,header,nav,details.cm,.stopbar{display:none!important}body{background:#fff}}
.adrtreffer{font-size:13px;margin:-4px 0 10px;color:var(--mut)}.adrtreffer .atr{display:flex;flex-direction:row;gap:6px;align-items:flex-start;color:var(--ink);margin:2px 0;font-size:13px}
.me.termin.art-hotel{background:#2c5d8a;color:#fff}.me.termin.art-hotel b{color:#cfe3ff}
.rtab{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);font-size:13px}
.rtab th,.rtab td{padding:6px 9px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.rtab th:first-child,.rtab td:first-child{text-align:left}.rtab th{background:#f7f8f7;font-size:12px;color:var(--mut)}
.rtab td.rot{color:#c0392b;font-weight:700}.rtab tr.sum td{font-weight:700;background:#f7f8f7}
