/* Modul ipad: Begehung, Wohnungsübergabe, Objekte auf dem iPad (Render t-begehung, t-uebergabe, t-portfolio).
   Präfix .ip-. Bezugsgröße im Rahmen: 1180 × 820 (quer) bzw. 820 × 1180 (hoch). */

/* ------------------------------------------------------------ Grundgerüst */
.ip{background:#fff}
.ip .btn{border-radius:40px}
.ip .tag{border-radius:2px}
.ip button{font:inherit}
.ip-sb{height:28px;flex:none;display:flex;justify-content:space-between;align-items:center;padding:0 24px;font-size:13px;font-weight:600;font-family:-apple-system,"SF Pro Text",Inter,Arial,sans-serif}
.ip-fix .mb{display:flex;flex-direction:column;overflow:hidden}
.ip-hd{display:flex;align-items:center;gap:16px;padding:8px 24px 14px;border-bottom:1px solid var(--line);flex:none;min-width:0}
.ip-u .ip-hd{gap:14px}
.ip-back{display:grid;place-items:center;width:28px;height:36px;margin:0 -4px 0 -6px;flex:none}
.ip-rose{width:22px;flex:none}
.ip-ttl{min-width:0}
.ip-ttl .h-m{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ip-kbtn{display:inline-flex;align-items:center;gap:4px;padding:0;background:none;border:0;color:var(--bord)}
.ip-kbtn .ic{width:12px;height:12px;opacity:.7}
.ip-prog{margin-left:auto;width:200px;flex:none}
.ip-ml{margin-left:auto}
.ip-hd .btn{flex:none}

/* ------------------------------------------------------------ Begehung */
.ip-wrap{display:grid;grid-template-columns:minmax(0,1fr) 400px;flex:1;min-height:0}
.ip-planw{padding:16px 20px 0 24px;position:relative;overflow:hidden;min-width:0}
.ip-plhead{gap:10px}
.ip-src{margin-left:auto;font-size:12px;white-space:nowrap}
.ip-fl{display:flex;gap:6px;flex-wrap:wrap}
.ip-fl>*{font-size:12.5px;padding:5px 12px;border:1px solid var(--line2);border-radius:30px;background:#fff;line-height:1.45;white-space:nowrap}
.ip-fl>*:hover{border-color:var(--ink)}
.ip-fl>.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.ip-planbox{position:relative;margin-top:14px}
.ip-plan svg{display:block;width:100%;height:auto;cursor:crosshair;user-select:none;-webkit-user-select:none}
.ip-plan.ro svg{cursor:pointer}
.ip-plan.placing svg{outline:2px dashed var(--bord);outline-offset:4px}
.ip-hint{position:absolute;left:0;right:0;top:-6px;z-index:2;display:flex;align-items:center;gap:8px;background:var(--ink);color:#fff;font-size:12.5px;padding:7px 8px 7px 12px;box-shadow:0 8px 20px rgba(0,0,0,.15)}
.ip-hint .btn{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.ip-galh{margin-top:6px;align-items:baseline;gap:8px}
.ip-galn{font-size:12px;color:var(--grey);padding:0}
.ip-galn:hover{color:var(--ink);text-decoration:underline}
.ip-gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}
.ip-gi{display:block;text-align:left;min-width:0}
.ip-gi .photo{display:block;height:104px}
.ip-gi:hover .photo{filter:brightness(.94)}
.ip-cap{display:block;font-size:11.5px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ip-gempty{grid-column:1/-1;height:104px;border:1.5px dashed var(--line2);display:flex;align-items:center;justify-content:center;gap:10px;color:var(--grey);font-size:13px}
.ip-legend{position:absolute;left:24px;bottom:26px;gap:16px;font-size:12px;color:var(--grey)}
.ip-fab{position:absolute;right:20px;bottom:22px;gap:8px}
.ip-fab .btn{padding:11px 18px}
.ip-fab .btn.ghost{background:#fff}

.ip-panel{border-left:1px solid var(--line);padding:16px 22px;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}
.ip-scroll{flex:1;min-height:0;overflow-y:auto;margin:0 -22px;padding:0 22px 12px;scrollbar-width:none}
.ip-scroll::-webkit-scrollbar{display:none}
.ip-areah{gap:10px}
.ip-areabtn{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:500;padding:0;text-align:left;min-width:0}
.ip-areabtn .ic{color:var(--grey);width:14px;height:14px}
.ip-cklist{margin-top:6px;border-top:1px solid var(--ink)}
.ip-ck{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;min-width:0}
.ip-ck .ip-n{color:var(--grey);min-width:10px}
.ip-ck.bad .ip-n{color:var(--red)}
.ip-tri{display:flex;gap:4px;margin-left:auto;flex:none}
.ip-tri button{width:38px;height:30px;display:grid;place-items:center;border:1px solid var(--line2);color:var(--grey);background:#fff}
.ip-tri button:hover{border-color:var(--ink);color:var(--ink)}
.ip-tri button.ok{background:var(--ink);border-color:var(--ink);color:#fff}
.ip-tri button.bad{background:var(--red);border-color:var(--red);color:#fff}
.ro .ip-tri,.ip-rooms.ro .ip-st,.ip-rp.ro .ip-keys,.ip-rp.ro .ip-sigtabs{pointer-events:none;opacity:.75}
.ip-def{border:1px solid var(--red);margin-top:12px;padding:12px}
.ip-def.hint{border-color:var(--blue)}
.ip-dt{font-size:14px;line-height:1.35}
.ip-dsub{font-size:11.5px;margin-top:4px}
.ip-ph{display:grid;gap:6px;margin-top:10px;height:118px}
.ip-ph .photo{display:block;height:100%}
.ip-addph{border:1px dashed var(--line2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--grey);background:#fff;font-size:11.5px;min-width:0}
.ip-addph:hover{border-color:var(--blue);color:var(--blue)}
.ip-voice{display:flex;gap:10px;align-items:center;background:var(--soft);padding:8px 10px;margin-top:10px;font-size:12px;width:100%;min-width:0}
.ip-play{width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;flex:none}
.ip-wave{display:flex;gap:2px;align-items:center;min-width:0;overflow:hidden}
.ip-wave i{display:block;width:2.5px;background:var(--ink);flex:none;transition:background .1s}
.ip-voice.playing .ip-wave i{background:var(--line2)}
.ip-voice.playing .ip-wave i.p{background:var(--blue)}
.ip-rec{color:var(--ink2);text-align:left}
.ip-rec .ip-mic{width:28px;height:28px;border-radius:50%;border:1px solid var(--blue);color:var(--blue);display:grid;place-items:center;flex:none;background:#fff}
.ip-rec .ip-vt{margin-left:auto}
.ip-rec.on .ip-mic{background:var(--red);border-color:var(--red);color:#fff;animation:ippulse 1s infinite}
@keyframes ippulse{50%{box-shadow:0 0 0 6px rgba(179,48,44,.18)}}
.ip-quote{font-size:12.5px;color:var(--ink2);margin-top:8px}
.ip-ai{margin-top:8px;align-items:flex-start;line-height:1.35}
.ip-ai .ic{margin-top:1px}
a.ip-ai:hover span{text-decoration:underline}
.ip-pinlist{margin-top:18px}
.ip-pinrow{display:flex;align-items:center;gap:10px;width:100%;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;min-width:0}
.ip-pinrow:hover{background:var(--soft2)}
.ip-pinn{width:20px;height:20px;border-radius:50%;color:#fff;font-size:10.5px;font-weight:600;display:grid;place-items:center;flex:none}
.ip-pinlist .cap{padding-bottom:6px;border-bottom:1px solid var(--ink)}
.ip-closed{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;margin-top:14px;font-size:12.5px}
.ip-sync{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--grey);padding-top:10px;border-top:1px solid var(--line);flex:none}
.ip-sync b{color:var(--ink)}
.ip-sync .btn{flex:none}

/* Dialoge Begehung */
.ip-areas{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.ip-arow{display:flex;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid var(--line);font-size:14px;width:100%;text-align:left}
.ip-arow:hover{background:var(--soft2)}
.ip-arow.on{background:var(--blue-5);box-shadow:inset 3px 0 0 var(--bord)}
.ip-form .fgrid .fld{margin-bottom:14px}
.ip-pos{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--ink2);background:var(--soft);padding:8px 10px;margin-bottom:14px}
.ip-pos .ic{color:var(--bord);margin-top:1px}
.ip-seg{display:flex;border:1px solid var(--line2);border-radius:2px;overflow:hidden;background:#fff}
.ip-seg label{flex:1;position:relative;cursor:pointer;min-width:0}
.ip-seg input{position:absolute;opacity:0;pointer-events:none}
.ip-seg span{display:block;text-align:center;padding:8px 6px;font-size:13.5px;color:var(--ink);font-weight:400}
.ip-seg label+label span{border-left:1px solid var(--line2)}
.ip-seg input:checked+span{background:var(--blue);color:#fff}
.ip-seg input:focus-visible+span{outline:2px solid var(--bord);outline-offset:-2px}
.ip-fph{display:flex;gap:6px;flex-wrap:wrap}
.ip-fph .photo{width:88px;height:66px;position:relative;display:block}
.ip-fph .photo button{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:rgba(25,26,31,.7);color:#fff;display:grid;place-items:center}
.ip-fph .photo button .ic{width:12px;height:12px}
.ip-fph .ip-addph{width:88px;height:66px}
.ip-dict{gap:10px;margin:-4px 0 14px;font-size:12.5px}
.ip-dict .btn.rec{border-color:var(--red);color:var(--red)}
.ip-recdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-right:6px;animation:ippulse 1s infinite}
.ip-aibox{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--bord);background:var(--soft);padding:10px 12px;font-size:12.5px;color:var(--ink2)}
.ip-aibox>.ic{color:var(--bord);margin-top:2px}
.ip-aibox b{color:var(--bord);font-weight:600}
.ip-aibox .btn{flex:none;align-self:center}
.ip-mnote{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;margin-bottom:12px;font-size:13px}
.ip-lb .ip-lbimg{display:block;height:min(56vh,480px)}
.ip-lbbar{margin-top:10px;font-size:13px;gap:10px}
.ip-lbth{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.ip-lbth .photo{width:64px;height:48px;opacity:.6}
.ip-lbth .photo.on{opacity:1;outline:2px solid var(--blue);outline-offset:1px}

/* Protokoll in Dokumentoptik */
.ip-doc{background:#fff;border:1px solid var(--line);box-shadow:0 6px 24px rgba(17,28,51,.08);padding:30px 34px;font-size:13px;color:var(--ink2);min-width:0}
.ip-doch{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 16px;padding-bottom:16px;border-bottom:2px solid var(--blue)}
.ip-doch img{height:22px}
.ip-doch>div{text-align:right;display:flex;flex-direction:column;font-size:12px;color:var(--grey)}
.ip-doch b{color:var(--ink);font-size:14px}
.ip-doc h3{font-size:19px;font-weight:500;color:var(--ink);margin-top:18px}
.ip-doc h4{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);font-weight:500;margin:20px 0 6px;padding-bottom:6px;border-bottom:1px solid var(--ink)}
.ip-dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:6px 14px;margin-top:12px}
.ip-dl dt{color:var(--grey)}
.ip-dl dd{color:var(--ink)}
.ip-dtab td,.ip-dtab th{white-space:normal;padding:7px 8px 7px 0;vertical-align:top}
.ip-dtab th{border-bottom-color:var(--line)}
.ip-dtab td .muted{font-size:11.5px}
.ip-dsec td{font-weight:600;color:var(--ink);background:var(--soft2);padding-left:6px}
.ip-red{color:var(--red);font-weight:500}
.ip-dul{padding-left:18px;display:flex;flex-direction:column;gap:4px}
.ip-dph{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ip-dph figure{min-width:0}.ip-dph .photo{display:block;height:90px}
.ip-dph figcaption{font-size:11px;color:var(--grey);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ip-dsig{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.ip-dsig>div{display:flex;flex-direction:column;font-size:11.5px;color:var(--grey);min-width:0}
.ip-dsig svg{height:60px;width:100%}
.ip-dsig em{height:60px;display:flex;align-items:flex-end;font-size:12px}
.ip-dsig span{border-top:1px solid var(--ink);margin:4px 0}
.ip-dsig>div:not(:has(svg)):not(:has(em)) span{margin-top:56px}

/* ------------------------------------------------------------ Wohnungsübergabe */
.ip-wrap2{display:grid;grid-template-columns:minmax(0,1fr) 420px;flex:1;min-height:0}
.ip-lp{padding:18px 24px;overflow-y:auto;min-width:0;scrollbar-width:none}
.ip-lp::-webkit-scrollbar,.ip-rp::-webkit-scrollbar{display:none}
.ip-rp{border-left:1px solid var(--line);padding:18px 22px;background:var(--soft2);display:flex;flex-direction:column;min-width:0;min-height:0;overflow-y:auto;scrollbar-width:none}
.ip-strip{display:flex;gap:10px;height:150px}
.ip-strip .photo{display:block;height:150px}
.ip-s1{width:240px;flex:0 1 240px;min-width:0}
.ip-s2{width:150px;flex:0 1 150px;min-width:0}
.ip-s3{width:110px;flex:0 1 110px;border:1.5px dashed var(--line2);min-width:0}
.ip-rooms{margin-top:6px;border-top:1px solid var(--ink)}
.ip-rm{display:grid;grid-template-columns:110px repeat(3,minmax(0,1fr)) 70px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.ip-rmh{font-size:11px;color:var(--grey);text-transform:uppercase;letter-spacing:.02em}
.ip-rn b{font-weight:500}
.ip-pl{display:none}
.ip-st{display:inline-flex;gap:3px}
.ip-st button{width:30px;height:26px;border:1px solid var(--line2);display:grid;place-items:center;font-size:11px;color:var(--grey);background:#fff;padding:0}
.ip-st button:hover{border-color:var(--blue);color:var(--blue)}
.ip-st button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.ip-st button.bad{background:var(--red);border-color:var(--red);color:#fff}
.ip-fc{color:var(--grey);text-align:left;padding:4px 0;font-size:13.5px}
.ip-fc:hover{color:var(--blue);text-decoration:underline}
.ip-alert{display:block;width:100%;text-align:left;background:var(--soft);border:1px solid var(--red);padding:10px 12px;margin-top:10px;font-size:13px}
.ip-alert:hover{background:#efebe3}
.ip-mts{margin-top:6px;border-top:1px solid var(--ink)}
.ip-mt{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px;align-items:center}
.ip-mtl{display:flex;align-items:center;gap:6px;min-width:0}
.ip-mtl>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ip-cam{width:24px;height:24px;display:grid;place-items:center;color:var(--grey2);flex:none;border-radius:50%}
.ip-cam:hover{color:var(--blue);background:var(--blue-5)}
.ip-cam.on{color:var(--green)}
.ip-cam .ic{width:14px;height:14px}
.ip-mt .v{border:1px solid var(--line2);background:#fff;padding:6px 10px;font-variant-numeric:tabular-nums;font-size:13.5px;width:100%;min-width:0;border-radius:0}
.ip-mt .v:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-10)}
.ip-mt .v::placeholder{color:var(--grey2)}
.ip-keys{display:flex;align-items:center;gap:8px;font-size:13.5px;margin-top:6px;text-align:left;padding:0;width:100%}
.ip-keys .ic{color:var(--grey2);width:13px;height:13px;flex:none}
.ip-keys:hover .ic{color:var(--blue)}
.ip-sigh{margin-top:14px;gap:10px}
.ip-sigtabs{margin-left:auto;display:flex;gap:4px}
.ip-sigtabs button{font-size:11.5px;padding:2px 10px;border:1px solid var(--line2);border-radius:20px;display:inline-flex;align-items:center;gap:4px;color:var(--ink2);background:#fff}
.ip-sigtabs button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.ip-sigtabs .ic{width:12px;height:12px}
.ip-sig{flex:1;border:1px solid var(--line2);background:#fff;margin-top:8px;position:relative;min-height:140px}
.ip-sig canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
.ip-rp.ro .ip-sig canvas{cursor:default}
.ip-sigph{position:absolute;inset:0;display:grid;place-items:center;color:var(--grey2);font-size:13px;pointer-events:none;text-align:center;padding:0 20px}
.ip-sig.has .ip-sigph{display:none}
.ip-sigl{position:absolute;left:12px;bottom:8px;font-size:11.5px;pointer-events:none}
.ip-sigx{position:absolute;right:8px;top:8px;display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--grey);padding:3px 8px;border:1px solid var(--line);border-radius:20px;background:#fff}
.ip-sigx:hover{color:var(--red);border-color:var(--red)}
.ip-sigx[hidden]{display:none}
.ip-foot{font-size:12px;gap:6px;margin-top:10px;flex:none}
.ip-tline{gap:8px;margin-top:12px;font-size:13px;padding:10px 12px;background:var(--soft)}
.ip-mph{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px}
.ip-mph .photo{display:block;height:80px}
.ip-mph.big{grid-template-columns:repeat(3,minmax(0,1fr))}
.ip-mph.big .photo,.ip-mph.big .ip-addph{height:120px}
.ip-keyed{border-top:1px solid var(--ink)}
.ip-krow{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.ip-pm{width:34px;height:34px;border:1px solid var(--line2);border-radius:50%;display:grid;place-items:center;color:var(--blue);background:#fff}
.ip-pm:hover{border-color:var(--blue)}
.ip-kn{min-width:24px;text-align:center;font-size:16px;font-weight:500}
.ip-meterpic{background:linear-gradient(160deg,#cfd3d6,#9aa1a6);padding:26px 20px;display:flex;flex-direction:column;align-items:center;gap:10px}
.ip-lcd{background:#b7c4a6;color:#1f2a17;font-family:"Courier New",monospace;font-size:26px;letter-spacing:.06em;padding:8px 16px;border:3px solid #444;box-shadow:inset 0 2px 6px rgba(0,0,0,.25);max-width:100%;overflow-wrap:anywhere;text-align:center}
.ip-mno{font-size:11px;color:#2b2f33;letter-spacing:.05em}

/* ------------------------------------------------------------ Objekte (Hochformat) */
@media (min-width:901px){
  .dev-tablet:has(> .dev-screen > .m.ip-port){width:860px;height:1220px}
}
.ip-port .mb{padding-bottom:110px}
.ip-top{display:flex;align-items:center;padding:6px 28px 0;min-height:30px}
.ip-top img{height:22px}
.ip-topr{margin-left:auto;gap:18px}
.ip-topr button{display:grid;place-items:center;color:var(--ink)}
.ip-topr .ava{width:30px;height:30px;font-size:11px}
.ip-tback{display:inline-flex;align-items:center;gap:2px;color:var(--blue);font-size:15px;font-weight:500;margin-left:-8px}
.ip-search{display:none;align-items:center;gap:10px;margin:14px 28px 0;border-bottom:1px solid var(--ink);padding:6px 2px}
.ip-search.on{display:flex}
.ip-search input{flex:1;min-width:0;border:0;font-size:16px;padding:4px 0;background:transparent}
.ip-search input:focus{outline:none}
.ip-shit{font-size:12px;white-space:nowrap}
.ip-hero{margin:18px 28px 0}
.ip-hero .h-xl{margin-top:10px;font-size:42px}
.ip-chips{display:flex;gap:8px;margin:18px 28px 0;flex-wrap:wrap}
.ip-chips a{font-size:13px;padding:6px 14px;border:1px solid var(--line2);border-radius:30px;white-space:nowrap;background:#fff}
.ip-chips a:hover{border-color:var(--blue)}
.ip-chips a.on{background:var(--blue);border-color:var(--blue);color:#fff}
.ip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;margin:20px 28px 0}
.ip-o{display:block;min-width:0}
.ip-o[hidden]{display:none}
.ip-oph{display:block;height:200px;position:relative}
.ip-oph .photo.ph span{font-size:34px;font-weight:400;opacity:.55}
.ip-oph .tag,.ip-ohero .tag{position:absolute;left:10px;top:10px}
.ip-o:hover .ip-oph>.photo{filter:brightness(.95)}
.ip-o>b{display:block;font-weight:500;font-size:16px;margin-top:10px}
.ip-mt2{font-size:12.5px;color:var(--grey);margin-top:2px}
.ip-k{display:flex;gap:18px;margin-top:8px;font-size:12px}
.ip-k>span{display:flex;flex-direction:column;line-height:1.3}
.ip-k b{font-size:15px;font-weight:400;margin:0}
.ip-why{display:flex;gap:6px;align-items:flex-start;font-size:12px;color:var(--bord);margin-top:8px}
.ip-why .ic{flex:none;margin-top:1px}
.ip-none{margin:20px 28px}
.ip-dock{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;gap:4px;background:var(--ink);padding:7px;border-radius:30px;z-index:6;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.ip-dock a{width:58px;height:44px;border-radius:22px;display:grid;place-items:center;color:#9a9999}
.ip-dock a:hover{color:#fff}
.ip-dock a.on{background:var(--blue);color:#fff}

/* Objektansicht */
.ip-pad{padding:14px 28px 0}
.ip-ohero{height:300px;position:relative}
.ip-ohero .photo.ph span{font-size:56px;opacity:.5}
.ip-oname{margin-top:8px;font-size:40px}
.ip-oact{margin-top:18px;flex-wrap:wrap;gap:8px}
.ip-bedarf{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;margin-top:16px;font-size:13px}
.ip-bedarf .ic{color:var(--bord);margin-top:1px;flex:none}
.ip-okpi{margin-top:22px}
.ip-okpi>div:nth-child(4n+1){border-left:0;padding-left:0}
.ip-okpi>div:nth-child(n+5){border-top:1px solid var(--line)}
.ip-okpi .v{font-size:22px}
.ip-sech{margin-top:28px;align-items:baseline}
.ip-oplan{display:block;width:100%;margin-top:14px;border:1px solid var(--line);padding:8px;background:#fff}
.ip-oplan:hover{border-color:var(--blue)}
.ip-oplan svg{display:block;width:100%;height:auto}
.ip-docs{margin-top:10px;border-top:1px solid var(--ink)}
.ip-docrow{display:flex;align-items:center;gap:10px;width:100%;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px;text-align:left}
.ip-docrow:hover{background:var(--soft2)}
.ip-docrow>.ic:first-child{color:var(--grey)}
.ip-docrow .muted{font-size:12px;white-space:nowrap}
.ip-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ip-list{margin-top:10px;border-top:1px solid var(--ink)}
.ip-li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;min-width:0}
.ip-li:hover{background:var(--soft2)}
.ip-li>.ic{color:var(--grey);flex:none}
.ip-li .grow b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ip-li .grow .muted{display:block;font-size:11.5px}
.ip-list .empty{margin-top:10px}
.ip-team{margin-top:18px;gap:18px;flex-wrap:wrap}
.ip-bigplan svg{display:block;width:100%;height:auto}

/* ------------------------------------------------------------ Schmale Breiten: iPad randlos, Inhalte stapeln */
@media (max-width:1100px) and (min-width:901px){
  .ip-src{display:none}
}
@media (max-width:900px){
  .ip-sb{display:none}
  .ip-fix .mb{display:block}
  .ip-hd{flex-wrap:wrap;padding:14px 16px;gap:10px 12px}
  .ip-ttl{flex:1 1 200px}
  .ip-ttl .h-m{white-space:normal;font-size:19px}
  .ip-prog{order:5;width:100%;margin-left:0}
  .ip-ml{margin-left:0}
  .ip-wrap,.ip-wrap2{display:block}
  .ip-planw{padding:14px 16px 0;overflow:visible}
  .ip-src{display:none}
  .ip-legend,.ip-fab{position:static;margin-top:12px}
  .ip-fab{justify-content:flex-end}
  .ip-legend{order:2}
  .ip-panel{border-left:0;border-top:1px solid var(--line);margin-top:16px;padding:16px;overflow:visible}
  .ip-scroll{overflow:visible;margin:0;padding:0 0 12px}
  .ip-sync{flex-wrap:wrap}
  .ip-lp{padding:16px;overflow:visible}
  .ip-rp{border-left:0;border-top:1px solid var(--line);padding:16px;overflow:visible}
  .ip-sig{flex:none;height:220px}
  .ip-port .mb{padding-bottom:100px}
  .ip-dock{position:fixed;bottom:14px}
  .ip-top{padding:12px 16px 0}
  .ip-hero,.ip-chips,.ip-grid,.ip-search{margin-left:16px;margin-right:16px}
  .ip-pad{padding:12px 16px 0}
  .ip-ohero{height:220px}
  .ip-oname{font-size:32px}
  .ip-two{grid-template-columns:minmax(0,1fr)}
  .ip-okpi{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ip-okpi>div:nth-child(odd){border-left:0!important;padding-left:0!important}
  .ip-okpi>div:nth-child(even){border-left:1px solid var(--line);padding-left:18px}
  .ip-okpi>div{border-top:1px solid var(--line)}
}
@media (max-width:560px){
  .ip-hd .btn{padding:7px 12px;font-size:12.5px}
  .ip-rose{display:none}
  .ip-gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ip-legend{gap:12px;flex-wrap:wrap}
  .ip-fab{width:100%}
  .ip-fab .btn{flex:1;justify-content:center;padding:10px 12px}
  .ip-hint{position:static;flex-wrap:wrap;margin-bottom:8px}
  .ip-hint>span{flex:1 1 100%}
  .ip-ck{font-size:13.5px}
  .ip-tri button{width:40px;height:34px}
  .ip-strip{height:120px}
  .ip-strip .photo{height:120px}
  .ip-rmh{display:none}
  .ip-rm{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 6px;padding:12px 0}
  .ip-rn{grid-column:1/3}
  .ip-fc{grid-column:3;grid-row:1;text-align:right}
  .ip-stc{display:flex;flex-direction:column;gap:4px;min-width:0}
  .ip-pl{display:block;font-size:10.5px;color:var(--grey);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ip-fc .ip-pl{display:inline;margin-right:4px}
  .ip-st button{width:34px;height:30px}
  .ip-mt{grid-template-columns:minmax(0,1fr) 110px}
  .ip-grid{grid-template-columns:minmax(0,1fr)}
  .ip-hero .h-xl{font-size:34px}
  .ip-dock a{width:50px}
  .ip-doc{padding:18px 16px}
  .ip-dl{grid-template-columns:minmax(0,1fr)}
  .ip-doch>div{text-align:left}
  .ip-dtab{table-layout:fixed}
  .ip-dtab td,.ip-dtab th{padding-right:6px;font-size:12px;overflow-wrap:anywhere}
  .ip-dtab td:first-child:not([colspan]){width:auto}
  .ip-dtab th{letter-spacing:.02em;font-size:10px}
  .ip-dl dt{margin-top:6px}
  .ip-dph{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ip-dsig{grid-template-columns:minmax(0,1fr)}
  .ip-mph.big{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ip-docrow .muted{display:none}
}
@media (max-width:360px){
  .ip-chips a{padding:5px 11px;font-size:12.5px}
  .ip-dock{gap:2px;padding:5px}
  .ip-dock a{width:46px;height:40px}
  .ip-st button{width:30px}
  .ip-hd .btn{padding:6px 10px}
}
