/* Platzbelegung (Desktop) — Oberfläche aus prototypes/platzbelegung-desktop.html.
   Alles unter .pba gekapselt, damit App-Klassen (.btn, .card, .chip, .set …) nicht kollidieren.
   Erzeugt aus dem Prototyp-CSS (Selektoren mit .pba präfixiert), ergänzt um Tokens und Resets. */
.pba{
  --c-disabled:#A3A3A3;--c-fill-hover:#0554D6;--overlay:rgba(0,0,0,.35);--own:#DCDCDC;--on-pri:#FFFFFF;
  padding:32px 40px 64px;font-size:14px;line-height:1.45;color:var(--c-black);-webkit-font-smoothing:antialiased;
}
:root[data-theme="dark"] .pba{--c-disabled:#525252;--c-fill-hover:#4D9AFF;--overlay:rgba(0,0,0,.6);--own:#2E2E2E;--on-pri:#0A0A0A}
.pba *{box-sizing:border-box}.pba [hidden]{display:none!important}
.pba button,.pba input,.pba select{font:inherit;color:inherit}
.pba button{cursor:pointer;border:0;background:none;padding:0;box-shadow:none;letter-spacing:normal;text-transform:none}
.pba label{font-size:inherit;font-weight:inherit;color:inherit;letter-spacing:inherit;text-transform:none;margin:0}
.pba :focus-visible{outline:2px solid var(--c-fill);outline-offset:2px;box-shadow:none}
.pba h1,.pba h2,.pba h3,.pba p{margin:0}
.pba svg.i{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.pba .inner{max-width:1200px}
/* App-Klassen neutralisieren, die im Prototyp anders gemeint sind */
.pba .btn{box-shadow:none;transition:background-color .15s,border-color .15s;letter-spacing:normal;color:var(--c-black)}
.pba .chip{cursor:pointer;user-select:auto;text-align:left;width:auto;line-height:1.3}
.pba .set{border-bottom:0;padding:0}
.pba .empty{height:auto;display:block}
.pba .lv{max-width:none}
.pba .card{padding:18px 20px 12px;border-radius:16px}
.pba .in{color:var(--c-black)}
/* Kopf */
.pba h1{font-size:30px;font-weight:700;letter-spacing:-.6px;margin-top:6px}
.pba .lead{color:var(--c-muted)}
.pba .usage-intro{margin-top:18px;color:var(--c-muted);font-size:13px}
.pba .usage-list{list-style:none;padding:0;margin:12px 0 0}
.pba .usage-list li{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(120px,auto);gap:18px;padding:14px 0;border-top:1px solid var(--c-line);align-items:start}
.pba .usage-time{font-variant-numeric:tabular-nums;color:var(--c-muted);font-size:13px}
.pba .usage-place strong{font-weight:600;overflow-wrap:anywhere}
.pba .usage-place small,.pba .usage-kind small{display:block;color:var(--c-muted);margin-top:3px;font-size:12px}
.pba .usage-kind{color:var(--c-muted);font-size:13px;text-align:right}
.pba .usage-empty{padding:14px 0 4px;color:var(--c-faint);font-size:13px}
.pba .day-count{font-size:10px;white-space:nowrap}
.pba .offering-settings{border:0;padding:0;margin:0 0 28px;min-width:0}
.pba .offering-settings legend{font-weight:650;margin-bottom:6px;font-size:15px}
.pba .offering-settings p{font-size:13px;margin-bottom:14px}
.pba .offering-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--c-line);cursor:pointer}
@media(max-width:600px){.pba .usage-list li{grid-template-columns:1fr auto;gap:6px 12px}.pba .usage-time{grid-column:1 / -1}.pba .usage-kind{max-width:140px}.pba .day-count{font-size:9px}}
.pba .head{display:flex;align-items:center;gap:8px;margin-top:22px}
.pba .pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--c-line-strong);border-radius:99px;background:var(--c-white);color:var(--c-muted);font-size:13px}
.pba .pill[aria-pressed="true"]{background:var(--c-fill-soft);border-color:var(--c-fill);color:var(--c-fill)}
.pba .btn{height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--c-line);background:var(--c-white);font-weight:600;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.pba .btn:hover{background:var(--c-hover);border-color:var(--c-line-strong)}
.pba .btn.pri{background:var(--c-fill);border-color:var(--c-fill);color:var(--on-pri)}
.pba .btn.pri:hover{background:var(--c-fill-hover)}
.pba .btn.ghost{border-color:transparent;background:transparent;color:var(--c-fill-hover)}
.pba .btn.ghost:hover{background:var(--c-fill-soft)}
.pba .btn.dan{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}
.pba .btn.dan:hover{background:var(--danger-soft)}
.pba .btn.sm{height:32px;padding:0 10px}
.pba .btn.icon{width:32px;padding:0;color:var(--c-muted)}
/* Anfragen */
.pba .inbox{margin-top:8px;border:1px solid var(--c-fill);background:var(--c-fill-soft);border-radius:16px;padding:14px 22px}
.pba .inbox h3{font-size:13px;color:var(--c-fill);font-weight:700;margin-bottom:2px}
.pba .req{display:flex;align-items:center;gap:8px;padding:10px 0;border-top:1px solid color-mix(in srgb,var(--c-fill) 18%,transparent)}
.pba .req:first-of-type{border-top:0}
.pba .req .t{flex:1;min-width:0}
.pba .req strong{font-weight:600}
.pba .req small{display:block;color:var(--c-muted);font-size:12.5px}
.pba .req.bad small{color:var(--danger)}
/* Tagesleiste */
.pba .stick{position:sticky;top:64px;z-index:15;padding:16px 0 12px;margin-top:6px}
.pba .stick::before{content:"";position:absolute;inset:0 -40px;background:var(--c-bg);z-index:-1;transition:box-shadow .15s}
.pba .stick.stuck::before{box-shadow:0 1px 0 var(--c-line),0 8px 16px -12px rgba(0,0,0,.25)}
.pba .weekbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pba .weekbar .wk{margin-right:4px}
.pba .weekbar .wk{font-weight:650;font-size:15px}
.pba .weekbar .wk small{color:var(--c-muted);font-weight:500;font-size:13px;margin-left:8px}
.pba .weekbar .sp{flex:1}
.pba .nav{width:34px;height:34px;border-radius:8px;border:1px solid var(--c-line);background:var(--c-white);display:grid;place-items:center;color:var(--c-muted)}
.pba .nav:hover{background:var(--c-hover);color:var(--c-black)}
.pba .days{display:flex;gap:6px;margin-top:10px}
.pba .day{flex:1;min-width:60px;border:1px solid var(--c-line);background:var(--c-white);border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 4px;color:var(--c-muted);font-size:11px;position:relative}
.pba .day b{font-size:19px;color:var(--c-black);font-weight:650;line-height:1}
.pba .day[aria-pressed="true"]{background:var(--c-fill-soft);border-color:var(--c-fill);color:var(--c-fill)}
.pba .day[aria-pressed="true"] b{color:var(--c-fill)}
.pba .day .load{height:3px;width:28px;background:var(--c-line);border-radius:99px;overflow:hidden}
.pba .day .load i{display:block;height:100%;background:var(--c-muted)}
.pba .day .rq{position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--c-fill)}
.pba .dayhead{display:flex;align-items:baseline;gap:12px;margin:30px 0 0}
.pba .dayhead h2{font-size:21px;font-weight:700;letter-spacing:-.3px}
.pba .dayhead span{color:var(--c-muted)}
/* Platzkarte */
.pba .card{background:var(--c-white);border:1px solid var(--c-line);border-radius:16px;box-shadow:var(--shadow-card);padding:18px 20px 12px;margin-top:14px}
.pba .ch{display:flex;align-items:center;gap:10px}
.pba .ch h3{font-size:17px;font-weight:700}
.pba .ch small{color:var(--c-muted);font-size:13px}
.pba .ch .sp{flex:1}
.pba .tag{font-size:11.5px;font-weight:600;color:var(--c-fill);background:var(--c-fill-soft);border-radius:99px;padding:3px 9px}
.pba .grid{display:grid;grid-template-columns:220px minmax(0,1fr);margin-top:10px}
.pba .axis{position:relative;height:18px;font-size:10.5px;color:var(--c-faint)}
.pba .axis span{position:absolute;transform:translateX(-50%)}
.pba .axis span:first-child{transform:none}
.pba .axis span:last-child{transform:translateX(-100%)}
.pba .lbl{display:flex;align-items:center;gap:10px;min-width:0;padding-right:14px;border-top:1px solid var(--c-line);min-height:52px}
.pba .lbl[data-id]{cursor:pointer}
.pba .lbl[data-id]:hover strong{color:var(--c-fill)}
.pba .lbl .tx{min-width:0}
.pba .lbl strong{display:block;font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pba .lbl small{display:block;font-size:12px;color:var(--c-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pba .lbl svg.f{color:var(--c-muted);flex-shrink:0}
.pba .tl{position:relative;border-top:1px solid var(--c-line);min-height:52px;cursor:crosshair;
  background-image:repeating-linear-gradient(to right,var(--c-line) 0 1px,transparent 1px calc(100% / 5))}
.pba .blk{position:absolute;top:10px;bottom:10px;border-radius:6px;display:flex;align-items:center;padding:0 8px;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;cursor:grab;user-select:none;touch-action:none;background:var(--own);color:var(--c-black)}
.pba .blk .t{font-variant-numeric:tabular-nums}
.pba .blk.ext{background:repeating-linear-gradient(135deg,var(--c-surface-2) 0 4px,var(--c-line-strong) 4px 6px)}
.pba .blk.game{background:var(--c-black);color:var(--c-white);cursor:pointer}
.pba .blk.lock{background:var(--c-surface-2);border:2px dashed var(--c-faint);color:var(--c-muted)}
.pba .blk.offer{background:var(--c-fill-soft);border:1px dashed var(--c-fill);color:var(--c-fill)}
.pba .blk.clash{box-shadow:0 0 0 2px var(--danger)}
.pba .blk.sel{box-shadow:0 0 0 2px var(--c-fill)}
.pba .blk.clash.sel{box-shadow:0 0 0 2px var(--c-fill),0 0 0 4px var(--danger)}
.pba .blk .rz{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize}
.pba .blk .rz.l{left:0}
.pba .blk .rz.r{right:0}
.pba .draft{position:absolute;top:10px;bottom:10px;border-radius:6px;border:1px dashed var(--c-fill);background:var(--c-fill-soft);pointer-events:none}
.pba .addrow{grid-column:1/-1;border-top:1px solid var(--c-line);padding-top:8px;display:flex}
.pba .legend{display:flex;gap:16px;flex-wrap:wrap;color:var(--c-muted);font-size:11.5px;margin-top:16px;align-items:center}
.pba .legend span{display:inline-flex;align-items:center;gap:6px}
.pba .sw{width:14px;height:10px;border-radius:3px;display:inline-block}
.pba details.card{padding:0}
.pba details.card summary{list-style:none;display:flex;align-items:center;gap:10px;padding:16px 20px;cursor:pointer;font-weight:600}
.pba details.card summary::-webkit-details-marker{display:none}
.pba details.card summary .sp{flex:1}
.pba details.card summary>svg.i:last-child{transition:transform .15s;color:var(--c-faint)}
.pba details[open].card summary>svg.i:last-child{transform:rotate(180deg)}
.pba details.card .cardscroll{padding:0 20px 12px}
.pba details.card .grid{margin:0}
.pba .rb{position:absolute;border-radius:5px;background:var(--own);font-size:11px;font-weight:600;padding:0 6px;display:flex;align-items:center;overflow:hidden;white-space:nowrap;cursor:pointer}
.pba .rb.over{box-shadow:0 0 0 2px var(--danger)}
.pba .pie{flex-shrink:0;margin-right:6px;display:block}
.pba .blk.free{background:var(--c-fill-soft);border:1px dashed var(--c-fill);color:var(--c-fill);cursor:pointer}
.pba .offwin{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,transparent 0 5px,var(--c-line) 5px 6px);pointer-events:none}
.pba .tl.static{cursor:default}
.pba .set{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;margin-top:16px}
.pba .set>.l{font-size:13px;color:var(--c-muted)}
.pba .set.muted{opacity:.5}
.pba .findbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}
.pba .search{display:flex;align-items:center;gap:8px;border:1px solid var(--c-line-strong);border-radius:10px;background:var(--c-white);padding:0 12px;flex:1;min-width:220px;max-width:420px;color:var(--c-faint)}
.pba .search input{border:0;outline:0;background:transparent;height:40px;flex:1;min-width:0;font-size:14px;color:var(--c-black)}
.pba .search:focus-within{outline:2px solid var(--c-fill);outline-offset:1px}
.pba .star{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--c-disabled)}
.pba .star:hover{background:var(--c-hover)}
.pba .star[aria-pressed="true"]{color:#E0A100}
.pba .star[aria-pressed="true"] svg{fill:currentColor}
.pba .blk.mine{background:var(--c-fill);color:var(--on-pri);border:0;cursor:pointer}
.pba .status{font-size:11.5px;font-weight:600;border-radius:99px;padding:2px 8px;background:var(--c-surface-2);color:var(--c-muted)}
.pba .status.ok{background:color-mix(in srgb,#15803D 14%,transparent);color:#15803D}
.pba .empty{text-align:center;color:var(--c-muted);padding:40px 0 20px}
.pba .empty .btn{margin-top:12px}
.pba .lbl small svg.i{width:11px;height:11px;vertical-align:-1px;margin-right:3px}
.pba .set.muted:hover{opacity:.8}
.pba .chips.tight{gap:4px}
.pba .chips.tight .chip{padding:5px 10px;font-size:12.5px}
.pba .chip{display:inline-flex;align-items:center}
.pba .chip .pie{margin-right:5px}
.pba .wd.sm{margin-top:0;gap:4px}
.pba .wd.sm button{width:30px;height:30px;font-size:11.5px}
.pba .tin2{display:flex;gap:6px;align-items:center}
.pba .tin2 .in{height:34px;padding:0 8px;font-size:13px}
.pba .money5{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.pba .money5 label{font-size:11px;color:var(--c-faint);display:grid;gap:3px}
.pba .money5 .in{height:34px;padding:0 6px;font-size:13px;text-align:center}
.pba .freeinfo{display:flex;align-items:center;gap:14px;margin-top:6px}
.pba .freeinfo .pie{margin:0}
.pba .freeinfo strong{display:block;font-size:15px}
.pba .freeinfo small{color:var(--c-muted)}
.pba .rb.lock{background:var(--c-surface-2);border:1.5px dashed var(--c-faint);color:var(--c-muted)}
.pba .addrow .btn+.btn{margin-left:4px}
.pba .lbl[data-rset]{cursor:pointer}
.pba .grip{color:var(--c-disabled);cursor:grab;display:flex;margin-left:-4px;padding:4px 0}
.pba .grip svg.i{width:16px;height:16px;stroke-width:3}
.pba .lbl[draggable]:hover .grip{color:var(--c-faint)}
.pba .lbl.dragging,.pba .lbl.dragging+.tl{opacity:.4}
.pba .lbl.drop-before,.pba .lbl.drop-before+.tl{box-shadow:inset 0 2px 0 var(--c-fill)}
.pba .lbl.drop-after,.pba .lbl.drop-after+.tl{box-shadow:inset 0 -2px 0 var(--c-fill)}
.pba .lbl[data-rset]:hover strong{color:var(--c-fill)}
.pba .addcard{margin-top:10px}
.pba .rb.sel{box-shadow:0 0 0 2px var(--c-fill)}
.pba .dayhead{display:none}
/* Buchungen */
.pba .lnk{color:var(--c-fill-hover);font-weight:600;font-size:12.5px;display:inline-flex;align-items:center;gap:4px}
.pba .lnk:hover{text-decoration:underline}
.pba .lnk svg.i{width:14px;height:14px}
.pba .lnk.dan{color:var(--danger);margin:6px 0 4px}
.pba .msg{display:flex;gap:10px;align-items:flex-start;border-radius:10px;padding:10px 12px;margin-top:10px;font-size:13px;line-height:1.45}
.pba .msg svg.i{margin-top:1px}
.pba .msg.err{background:var(--danger-soft);color:var(--danger)}
.pba .msg.wrn{background:color-mix(in srgb,#D97706 12%,transparent);color:#B45309}
:root[data-theme="dark"] .pba .msg.wrn{color:#FBBF24}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pba .msg.wrn{color:#FBBF24}
}
.pba .levels{border:1px solid var(--c-line);border-radius:12px;padding:4px 16px;background:var(--c-white)}
.pba .lv{border-top:1px solid var(--c-line);padding:4px 0}
.pba .lv:first-child{border-top:0}
.pba .lvrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:8px 0;font-size:13.5px}
.pba .lvrow.btnish{border-radius:8px;padding:8px 10px;margin:0 -10px;width:calc(100% + 20px)}
.pba .lvrow.btnish:hover{background:var(--c-hover)}
.pba .lvrow.on{background:var(--c-fill-soft)}
.pba .lvrow svg.i{width:16px;height:16px;color:var(--c-faint)}
.pba .lvl{width:104px;flex-shrink:0;color:var(--c-muted);font-size:13px}
.pba .lvt{flex:1;min-width:0;font-weight:500}
.pba .lvt small{color:var(--c-faint);margin-left:6px;font-weight:400}
.pba .lvedit{padding:4px 0 12px}
.pba .lvedit .elf{margin:6px 0 4px}
.pba .freewin{margin-top:10px;display:grid;gap:6px}
.pba .freewin .l{font-size:12.5px;color:var(--c-muted)}
.pba .dash{color:var(--c-disabled)}
.pba .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}
.pba .dot.ok,.pba .av.ok i{background:#16A34A}
.pba .dot.part,.pba .av.part i{background:#D97706}
.pba .dot.no,.pba .av.no i{background:var(--danger)}
.pba .av{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600}
.pba .av i{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}
.pba .av.ok{color:#15803D}
.pba .av.part{color:#B45309}
.pba .av.no{color:var(--danger)}
:root[data-theme="dark"] .pba .av.ok{color:#4ADE80}
:root[data-theme="dark"] .pba .av.part{color:#FBBF24}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pba .av.ok{color:#4ADE80}
:root:not([data-theme="light"]) .pba .av.part{color:#FBBF24}
}
.pba .avd{color:var(--c-faint);font-weight:500;margin-left:4px}
.pba .avrow{margin-top:14px}
.pba .elf{border-left:2px solid var(--c-fill);padding:2px 0 8px 14px;margin:6px 0 4px}
.pba .elf .fld{margin-top:12px}
.pba .chip:disabled{opacity:.4;cursor:not-allowed}
.pba .chip svg.i{width:13px;height:13px}
.pba .bcards{display:grid;gap:8px}
.pba .bcard{text-align:left;border:1px solid var(--c-line-strong);border-radius:12px;padding:10px 12px;background:var(--c-white);display:grid;gap:8px}
.pba .bcard strong{font-size:13px;font-weight:600}
.pba .bcard .levels{border:0;padding:0;background:transparent}
.pba .bcard .lv{padding:4px 0;font-size:12.5px}
.pba .bcard[aria-pressed="true"]{border-color:var(--c-fill);background:var(--c-fill-soft)}
.pba .bcard.new{display:flex;align-items:center;gap:8px;color:var(--c-fill-hover)}
.pba .crumb{display:inline-flex;align-items:center;gap:4px;color:var(--c-muted);font-size:13px;font-weight:500;margin-bottom:4px}
.pba .crumb:hover{color:var(--c-black)}
.pba .crumb svg.i{width:16px;height:16px}
.pba .mfilter{display:grid;gap:10px;margin-top:20px}
.pba .frow{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:10px}
.pba .frow>.l{font-size:13px;color:var(--c-muted)}
.pba .frow .sp{display:none}
.pba .mgrid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:14px;align-items:start}
.pba .mlist{padding:6px 20px 12px}
.pba .mown{border-top:1px solid var(--c-line);padding:12px 0}
.pba .mown:first-child{border-top:0}
.pba .mrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:calc(100% + 16px);text-align:left;border-radius:8px;padding:8px;margin:4px -8px 0}
.pba .mrow:hover{background:var(--c-hover)}
.pba .mrow.on{background:var(--c-fill-soft);box-shadow:inset 0 0 0 1px var(--c-fill)}
.pba .mpat{font-size:13px}
.pba .mels{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.pba .ec{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;border-radius:6px;padding:2px 7px;background:var(--c-surface-2);color:var(--c-muted)}
.pba .ec .pie{margin-right:4px}
.pba .mdetail{position:sticky;top:80px;padding:0;max-height:calc(100vh - 96px);display:flex;flex-direction:column;overflow:hidden}
.pba .mdetail .pb{overflow:auto}
.pba .mdetail .empty{padding:40px 24px}
@media (max-width:1200px){.pba .mgrid{grid-template-columns:minmax(0,1fr)}
.pba .mdetail{position:static;max-height:none}
}
.pba .lgroup{margin-top:18px}
.pba .lhead{font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--c-faint);margin-bottom:4px}
.pba .lown{border-top:1px solid var(--c-line);padding:10px 0}
.pba .lname{display:flex;align-items:center;gap:8px}
.pba .lname small{color:var(--c-faint);font-size:12px}
.pba .lname .sp{flex:1}
.pba .lb{display:block;width:100%;text-align:left;border-radius:8px;padding:6px 8px;margin:4px -8px 0;width:calc(100% + 16px)}
.pba .lb:hover{background:var(--c-hover)}
.pba .lb span{display:block;font-size:13px}
.pba .lb small{display:block;color:var(--c-faint);font-size:12px}
/* Seitenpanel */
.pba .scrim{position:fixed;inset:0;background:var(--overlay);z-index:40}
.pba .panel{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:100vw;background:var(--c-white);border-left:1px solid var(--c-line);box-shadow:var(--shadow-modal);z-index:41;display:flex;flex-direction:column}
.pba .ph{display:flex;align-items:center;gap:10px;padding:20px 24px 8px}
.pba .ph h2{font-size:19px;font-weight:700;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pba .x{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;color:var(--c-faint)}
.pba .x:hover{background:var(--c-hover);color:var(--c-black)}
.pba .pb{flex:1;overflow:auto;padding:8px 24px 20px}
.pba .fld{margin-top:20px}
.pba .fld>label,.pba .fld>.l{display:block;font-size:13px;font-weight:500;color:var(--c-muted);margin-bottom:8px}
.pba .in{width:100%;height:42px;border:1px solid var(--c-line-strong);border-radius:8px;padding:0 12px;background:var(--c-white);font-size:14px}
.pba .in:focus{outline:2px solid var(--c-fill);outline-offset:-1px;border-color:transparent}
.pba .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pba .chips{display:flex;flex-wrap:wrap;gap:6px}
.pba .chip{padding:7px 12px;border:1px solid var(--c-line-strong);border-radius:99px;background:var(--c-white);color:var(--c-muted);font-size:13px}
.pba .chip[aria-pressed="true"]{background:var(--c-fill-soft);border-color:var(--c-fill);color:var(--c-fill)}
.pba .wd{display:flex;gap:6px;margin-top:10px}
.pba .wd button{width:36px;height:36px;border-radius:50%;border:1px solid var(--c-line-strong);font-size:12.5px;color:var(--c-muted)}
.pba .wd button[aria-pressed="true"]{background:var(--c-fill);border-color:var(--c-fill);color:var(--on-pri)}
.pba .area{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.pba .area>svg.f{width:160px;height:auto;color:var(--c-muted)}
.pba .area svg [data-u]{cursor:pointer}
.pba .note{display:flex;align-items:center;gap:8px;color:var(--danger);font-size:13px;font-weight:600;margin-top:18px}
.pba .pf{display:flex;gap:8px;padding:16px 24px;border-top:1px solid var(--c-line)}
.pba .pf .sp{flex:1}
.pba .rowsw{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pba .switch{position:relative;width:40px;height:24px;flex-shrink:0}
.pba .switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}
.pba .switch span{position:absolute;inset:0;border-radius:99px;background:var(--c-line-strong);transition:background .15s}
.pba .switch span::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.pba .switch input:checked+span{background:var(--c-fill)}
.pba .switch input:focus-visible+span{outline:2px solid var(--c-fill);outline-offset:3px}
.pba .switch input:checked+span::after{transform:translateX(16px)}
.pba .money{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pba .money label{font-size:12px;color:var(--c-faint);display:grid;gap:4px}
.pba .toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#0A0A0A;color:#fff;border-radius:10px;padding:11px 16px;font-size:13px;display:flex;gap:14px;align-items:center;z-index:60;box-shadow:var(--shadow-modal)}
.pba .toast button{color:#5FA3FF;font-weight:600}
@media (max-width:1000px){.pba{padding:20px 16px 48px}
.pba .stick::before{inset:0 -16px}
.pba .grid{grid-template-columns:160px minmax(0,1fr)}
.pba .days{overflow-x:auto}
}
@media (max-width:640px){.pba .cardscroll{overflow-x:auto}
.pba .cardscroll .grid{min-width:640px}
.pba .req{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){.pba *{transition:none!important}
}


/* Einbettung in die App: Scroll-Container ist #tab-content, nicht das Fenster */
.pba .stick{top:0}
.pba .scrim{z-index:1000}.pba .panel{z-index:1001}.pba .toast{z-index:1002}
.pba .btn.pri{color:var(--on-pri)}.pba .btn.ghost{color:var(--c-fill-hover)}.pba .btn.dan{color:var(--danger)}
.pba .btn:disabled,.pba .btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.pba .loading{color:var(--c-muted);padding:40px 0}
.pba .msg.err .lnk{color:inherit;text-decoration:underline}
/* Meldungen unter der Platzbelegung (gleiche Ränder wie die Seite) */
.pba-notes{padding:0 40px 48px}.pba-notes .nx__inbox{max-width:1200px}
@media (max-width:1000px){.pba-notes{padding:0 16px 40px}}
