/* ════════════════════════════════════════════════════════════════════════════
   Einstellungen: eigener Vollbild-Bereich, alles speichert sofort.
   Handy: Übersicht (gruppiert) ⇄ Detailseite mit Zurück-Geste.
   Ab 768 px: Navigation links, Inhalt rechts in einer Lesespalte.
   ════════════════════════════════════════════════════════════════════════════ */

#settings-modal{position:fixed;inset:0;z-index:400;display:flex;background:var(--ground)}
.settings-box{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;animation:fade-in .18s both}
.set-topbar{
  display:flex;align-items:center;gap:8px;flex-shrink:0;min-height:var(--bar-h);
  padding:env(safe-area-inset-top,0px) 10px 0 10px;border-bottom:1px solid var(--line);
}
.set-back{width:44px;height:44px;border-radius:var(--r-md);display:none;place-items:center;color:var(--ink)}
.set-back svg{width:22px;height:22px}
.set-back:hover{background:var(--raised)}
.settings-box:not([data-view="home"]) .set-back{display:grid}
.set-title{flex:1;min-width:0;padding-left:8px;font-size:17px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.set-topbar .modal-close-x{width:40px;height:40px}

.set-viewport{position:relative;flex:1;min-height:0;overflow:hidden}
.set-home,.set-pages{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transition:transform .3s var(--ease),opacity .22s}
.set-pages{transform:translateX(100%);opacity:0;pointer-events:none;padding-bottom:env(safe-area-inset-bottom,0px)}
.settings-box[data-view="home"] .set-home{transform:none;opacity:1}
.settings-box:not([data-view="home"]) .set-home{transform:translateX(-22%);opacity:0;pointer-events:none}
.settings-box:not([data-view="home"]) .set-pages{transform:none;opacity:1;pointer-events:auto}

/* Übersicht: gruppierte Liste */
.set-home{padding:8px 10px calc(28px + env(safe-area-inset-bottom,0px))}
.set-group{padding:18px 12px 6px;font-size:13px;font-weight:600;color:var(--ink-3)}
.set-group:first-child{padding-top:8px}
.set-cat{
  display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:8px 12px;border-radius:var(--r-md);
  text-align:left;color:var(--ink);transition:background var(--t-fast);
}
.set-cat:hover{background:var(--surface)}
.set-cat.active{background:var(--raised)}
.set-cat-ico{width:22px;height:22px;display:grid;place-items:center;flex-shrink:0;color:var(--ink-2)}
.set-cat-ico svg{width:20px;height:20px}
.set-cat.active .set-cat-ico{color:var(--signal-ink)}
.set-cat-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.set-cat-tx b{font-size:15px;font-weight:550}
.set-cat-tx span{font-size:13px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.set-cat-val{max-width:40%;flex-shrink:0;font-size:13px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
.set-cat-chev{color:var(--ink-4);flex-shrink:0}

/* Seiten */
.set-page{display:none;padding:18px 18px 40px;max-width:760px}
.set-page.active{display:block}
.settings-box .modal-section{padding:0}
.settings-box .modal-section+.modal-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.settings-box .modal-label{font-size:16px;font-weight:600;margin-bottom:10px;letter-spacing:-.005em}
.set-section-title{font-size:16px;font-weight:600;margin:28px 0 10px}

/* Einstellungs-Zeilen (Schalter) */
.push-toggles{display:flex;flex-direction:column;margin-bottom:14px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.push-row{display:flex;align-items:center;gap:16px;min-height:56px;padding:12px 16px}
.push-toggles .push-row+.push-row{border-top:1px solid var(--line)}
.push-row label{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;cursor:pointer;font-size:15px;line-height:1.4}
.push-row label b{font-weight:550}
.push-row .push-hint{font-size:13px;line-height:1.5}
.push-row .switch{margin-left:auto}
.push-status{margin-bottom:12px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;color:var(--ink-2)}
.push-status.ok{background:var(--ok-wash);box-shadow:none;color:var(--ok)}
.push-status.err{background:var(--danger-wash);box-shadow:none;color:var(--danger)}
.push-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.push-error{margin-top:10px;padding:10px 12px;border-radius:var(--r-sm);background:var(--danger-wash);color:var(--danger);font-size:13.5px}
.push-devices{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.push-devices-title{font-size:13.5px;font-weight:600;color:var(--ink-2)}
.push-device-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:6px 6px 6px 14px;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}
.push-device-info{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:14px}
.push-device-info b{font-weight:550}
.push-device-remove{min-height:36px;color:var(--ink-3)}
.push-device-remove:hover{color:var(--danger)}
.push-subject-row{margin-top:18px;display:flex;flex-direction:column;gap:6px}
.push-subject-label{display:flex;flex-direction:column;gap:3px;font-size:14px;font-weight:550}
.push-quiet-times{display:none;align-items:center;gap:8px;flex-wrap:wrap;padding:0 16px 14px;font-size:13.5px;color:var(--ink-2)}
.push-quiet-times.show{display:flex}
.push-time-input{width:auto!important}

/* Formularfelder */
.ae-field{margin-bottom:14px}
.ae-field:last-child{margin-bottom:0}
.ae-field-label{display:block;margin-bottom:7px;font-size:13.5px;font-weight:550;color:var(--ink)}
.ae-token-row{display:flex;gap:8px}
.ae-token-row .ae-input{flex:1}
.ae-reveal{flex-shrink:0;width:42px;border-radius:var(--r-sm);display:grid;place-items:center;border:1px solid var(--line-2);color:var(--ink-2)}
.ae-reveal:hover{background:var(--raised)}

/* Darstellung */
.theme-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}
.theme-opt{
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:10px 10px 12px;border-radius:var(--r-lg);
  background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);text-align:left;font-size:14px;font-weight:550;
}
.theme-opt[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--signal)}
.theme-swatch{width:100%;aspect-ratio:16/10;border-radius:var(--r-sm);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line-2)}
.theme-swatch i{position:absolute;left:12%;right:30%;height:9%;border-radius:3px}
.theme-swatch i:nth-child(1){top:22%}
.theme-swatch i:nth-child(2){top:40%;right:44%}
.theme-swatch i:nth-child(3){top:62%;left:50%;right:12%;height:14%;border-radius:6px}
.theme-swatch.night{background:#0e1517}
.theme-swatch.night i{background:#e9e5da;opacity:.85}
.theme-swatch.night i:nth-child(3){background:#1a272b;opacity:1}
.theme-swatch.day{background:#eef2f0}
.theme-swatch.day i{background:#122124;opacity:.8}
.theme-swatch.day i:nth-child(3){background:#ffffff;opacity:1}
.theme-swatch.auto{background:linear-gradient(105deg,#0e1517 50%,#eef2f0 50%)}
.theme-swatch.auto i{background:#7f8d8a}
.theme-swatch.auto i:nth-child(3){background:#f2b441}
.size-pick{max-width:360px;margin-bottom:10px}
.size-sample{margin:6px 0 22px;padding:14px 16px;border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:var(--chat-fs);line-height:1.6;max-width:62ch}

/* ── Konten ──────────────────────────────────────────────────────────────── */
.account-entry{margin-bottom:12px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.ae-hdr{display:flex;align-items:center;gap:8px;padding:8px 8px 4px 16px}
.ae-label-input{flex:1;border:0!important;background:transparent!important;box-shadow:none!important;padding:6px 0!important;font-size:16px!important;font-weight:600;min-height:0!important}
.ae-label-input:focus{box-shadow:inset 0 -1.5px 0 var(--signal)!important}
.ae-del{width:36px;height:36px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--ink-3)}
.ae-del:hover{background:var(--danger-wash);color:var(--danger)}
.ae-body{padding:4px 16px 16px}
.ae-status-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ae-dir{flex:1 1 100%;margin-top:6px;font-size:12px;color:var(--ink-3);overflow-wrap:anywhere}
.ae-plan:empty{display:none}
.ae-netns-row{display:flex;align-items:center;gap:10px;margin-top:12px}
.ae-netns-row .ae-field-label{margin:0;white-space:nowrap;color:var(--ink-2);font-weight:500}
.ae-netns-select{flex:1}
.ae-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.ae-action{margin-top:10px}
.ut-num.left{text-align:left}
.ae-actions .btn{flex:1}
.mem-status{margin-top:16px}
.mem-row{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:550}
.mem-row.mem-ok{color:var(--ok)}
.mem-row.mem-bad{color:var(--signal-ink)}
.mem-row.mem-off{color:var(--ink-2)}
.mem-row.mem-loading{color:var(--ink-3);font-weight:400}
.mem-row .mem-sub{font-weight:400;color:var(--ink-3)}
.mem-item{margin-top:6px;font-size:13px;color:var(--ink-2);line-height:1.5}
.mem-sug{margin-top:2px;font-size:12.5px;color:var(--ink-3)}

/* Konto-Assistent */
#account-wizard-modal .modal-box{max-width:520px}
.prov-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.prov-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:14px;border-radius:var(--r-lg);
  background:var(--raised);box-shadow:inset 0 0 0 1px var(--line);text-align:left;transition:box-shadow var(--t-fast),background var(--t-fast);
}
.prov-card:hover{background:var(--raised-2);box-shadow:inset 0 0 0 1.5px var(--line-3)}
.prov-glyph{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:17px;background:var(--surface);color:var(--ink-2)}
.prov-glyph-claude{color:var(--signal-ink)}
.prov-glyph-qwen{color:var(--violet)}
.prov-glyph-antigravity{color:var(--info)}
.prov-glyph-muse{color:var(--ok)}
.prov-glyph-codex{color:var(--agent)}
.prov-name{font-size:15px;font-weight:600}
.prov-sub{font-size:12.5px;color:var(--ink-3);line-height:1.45}
@media (max-width:420px){.prov-grid{grid-template-columns:1fr}}
.wiz-actions{display:flex;gap:8px;margin-top:16px}
.wiz-actions .btn{flex:1}
.wiz-copy-row{display:flex;gap:8px;margin-top:8px}
.wiz-copy-row .btn{flex:1}
.wiz-link{font-family:var(--font-mono);font-size:12.5px!important;resize:none;overflow-wrap:anywhere}
.wiz-dep-box{margin-bottom:14px;padding:12px 14px;border-radius:var(--r-md);background:var(--raised);box-shadow:inset 0 0 0 1px var(--line)}
.wiz-dep-box.miss{background:var(--signal-wash);box-shadow:inset 0 0 0 1px var(--signal-line)}
.wiz-dep-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.wiz-dep-title{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600}
.wiz-dep-sub{margin-top:4px;font-size:13px;color:var(--ink-3);line-height:1.45}
.wiz-dep-items{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.wiz-dep-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid var(--line);font-size:13.5px}
.wiz-dep-row:first-child{border-top:0;padding-top:0}
.wiz-dep-info{min-width:0}
.wiz-dep-actions{display:flex;gap:6px;flex-shrink:0}
.mus-code-box{margin-top:10px;padding:14px;border-radius:var(--r-md);background:var(--raised);border:1.5px dashed var(--line-3);text-align:center;font-family:var(--font-mono);font-size:24px;font-weight:600;letter-spacing:.16em;user-select:all;-webkit-user-select:all}
.qw-webauth{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}

/* ── Auslastung (Tabelle) ────────────────────────────────────────────────── */
.set-page[data-page="auslastung"]{max-width:1100px}
.ut-filter{margin-bottom:12px;max-width:560px}
.ut-wrap{overflow-x:auto;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);-webkit-overflow-scrolling:touch}
.ut-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}
.ut-table th{position:sticky;top:0;padding:0;text-align:left;font-size:13px;font-weight:600;color:var(--ink-3);white-space:nowrap;border-bottom:1px solid var(--line-2);background:var(--surface)}
.ut-table th button{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:5px;width:100%;padding:11px 12px;cursor:pointer}
.ut-table th button:hover{color:var(--ink)}
.ut-table th button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.ut-table th[aria-sort="ascending"],.ut-table th[aria-sort="descending"]{color:var(--signal-ink)}
.ut-table th.ut-num button{justify-content:flex-end}
.ut-arr{font-size:10px;min-width:8px}
.ut-table td{padding:10px 12px;border-top:1px solid var(--line);white-space:nowrap;vertical-align:middle}
.ut-table tbody tr:hover td{background:var(--raised)}
.ut-num{text-align:right}
.ut-name{font-weight:600}
.ut-pool{display:block;font-size:12.5px;color:var(--ink-3);font-weight:400}
.ut-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.ut-bar i{display:block;width:60px;height:6px;border-radius:3px;background:var(--raised-2);overflow:hidden}
.ut-bar i b{display:block;height:100%;border-radius:3px}
.ut-bar span{min-width:40px;text-align:right}
.ut-sub{display:block;font-size:12px;color:var(--ink-3);text-align:right}
.ut-sub.left{text-align:left}
.ut-muted,.ut-err td{color:var(--ink-3)}
.ut-foot{margin-top:10px;font-size:13px;color:var(--ink-3)}
.ut-empty{padding:20px;text-align:center;color:var(--ink-3)}
.ut-m{display:none}
.sub-head{margin:28px 0 8px;font-size:16px;font-weight:600}
.sub-soon{color:var(--signal-ink)}
.sub-edit{margin-left:6px;min-height:26px;padding:0 9px;border-radius:7px;border:1px solid var(--line-2);font-size:12.5px;color:var(--ink-2)}
.sub-edit:hover{color:var(--ink)}
.sub-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sub-form input[type=date]{width:auto}
@media (max-width:600px){
  .ut-c-system,.ut-c-peak,.ut-c-r5,.ut-c-rw{display:none}
  .ut-m{display:block}
  .ut-table td,.ut-table th button{padding-left:10px;padding-right:10px}
  .ut-table td{white-space:normal}
  .ut-bar i{width:42px}
}

/* ── Fenster-Starts (Automatik) ──────────────────────────────────────────── */
.sched-empty{padding:26px 18px;text-align:center;font-size:14px;color:var(--ink-3);line-height:1.6;border-radius:var(--r-lg);border:1.5px dashed var(--line-2)}
.sched-pending{margin-top:14px;padding:11px 14px;border-radius:var(--r-md);background:var(--signal-wash);font-size:13.5px;color:var(--ink);line-height:1.5}
.sched-card{margin-bottom:12px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow var(--t)}
.sched-card.on{box-shadow:inset 0 0 0 1px var(--ok-line)}
.sched-card-hd{display:flex;align-items:center;gap:12px;padding:14px 16px}
.sched-card-hd .s-id{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sched-card-hd .s-id b{font-size:15.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.s-state{font-size:13px;font-weight:500}
.s-state.is-on{color:var(--ok)}
.s-state.is-off{color:var(--ink-3)}
.sched-body{display:flex;flex-direction:column;gap:14px;padding:0 16px 16px}
.sched-next{display:flex;align-items:flex-start;gap:11px;padding:11px 13px;border-radius:var(--r-md);background:var(--raised);font-size:14px;color:var(--ink-2);line-height:1.45}
.sched-next .dot{width:9px;height:9px;margin-top:5px;background:var(--ink-4)}
.sched-next.is-fired .dot{background:var(--ok)}
.sched-next.is-deferred .dot{background:var(--info)}
.sched-next.is-error .dot{background:var(--danger)}
.sched-next.is-paused .dot{background:var(--signal)}
.sched-next .s-main{flex:1;min-width:0}
.sched-next b{color:var(--ink);font-weight:600}
.sched-next .s-note{display:block;margin-top:3px;font-size:12.5px;color:var(--ink-3)}
.sched-lbl{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;font-weight:600;color:var(--ink-2);margin-bottom:-4px}
.sched-saved{font-size:12.5px;color:var(--ok);font-weight:600;opacity:0;transition:opacity .25s}
.sched-saved.show{opacity:1}
.sched-times{display:flex;flex-direction:column;gap:6px}
.sched-time{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 6px 0 14px;border-radius:var(--r-md);background:var(--raised)}
.sched-time>svg{width:16px;height:16px;color:var(--signal-ink)}
.sched-time .t-val,.sched-time .t-edit{flex:1;min-width:0;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.sched-time .t-edit{border:1px solid transparent;background:transparent;padding:4px 8px;margin:-4px 0;cursor:pointer;width:auto}
.sched-time .t-edit:hover{border-color:var(--line-2)}
.sched-time .t-edit:focus{border-color:var(--signal-line);background:var(--surface)}
.sched-time .t-del{width:36px;height:36px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--ink-3)}
.sched-time .t-del:hover{background:var(--danger-wash);color:var(--danger)}
.sched-time .t-del svg{width:16px;height:16px}
.sched-times-empty{padding:6px 2px;font-size:13.5px;color:var(--ink-3)}
.sched-add{display:flex;gap:8px}
.sched-add input[type=time]{flex:1;font-size:16px}
.sched-add .add-btn{min-height:42px;padding:0 16px;border-radius:var(--r-sm);background:var(--signal);color:var(--on-signal);font-size:14px;font-weight:600;white-space:nowrap}
.sched-adv{border-top:1px solid var(--line);padding-top:12px}
.sched-adv-sum{display:flex;align-items:center;gap:8px;min-height:36px;list-style:none;cursor:pointer;user-select:none;font-size:14px;font-weight:550;color:var(--ink-2)}
.sched-adv-sum::-webkit-details-marker{display:none}
.sched-adv-sum .chev{color:var(--ink-3);transition:transform var(--t)}
.sched-adv[open] .sched-adv-sum .chev{transform:rotate(90deg)}
.sched-adv-body{display:flex;flex-direction:column;gap:14px;margin-top:12px}
.sched-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sched-fld-lbl{margin-bottom:7px;font-size:13.5px;font-weight:550;color:var(--ink-2)}
.sched-btns{display:flex;gap:5px}
.sched-opt{flex:1;min-height:38px;border-radius:var(--r-sm);background:var(--raised);box-shadow:inset 0 0 0 1px var(--line);font-size:13px;font-weight:550;color:var(--ink-2)}
.sched-opt:hover{color:var(--ink)}
.sched-opt.on{background:var(--signal-wash);box-shadow:inset 0 0 0 1.5px var(--signal);color:var(--ink)}
.sched-cmd{font-family:var(--font-mono);font-size:13.5px}
.sched-actions{display:flex;align-items:center;gap:8px}
.sched-test{flex:1;min-height:42px;border-radius:var(--r-sm);background:var(--raised);font-size:14px;font-weight:550}
.sched-test:hover{background:var(--raised-2)}
.sched-test:disabled{opacity:.5}
.sched-del{min-height:42px;padding:0 14px;border-radius:var(--r-sm);font-size:14px;font-weight:550;color:var(--ink-3)}
.sched-del:hover,.sched-del.confirm{background:var(--danger-wash);color:var(--danger)}
@media (max-width:600px){.sched-grid{grid-template-columns:1fr}}

/* ── Netzwerk / Verbund / Git-Ziele: Karten für Einzelobjekte ────────────── */
.tun-card,.repo-card,.pz-card,.ver-agent,.tfa-method,.tfa-panel{
  margin-top:12px;padding:14px 16px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);
}
.tun-card.attention{box-shadow:inset 0 0 0 1.5px var(--signal-line)}
.tun-hdr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tun-name{font-size:15.5px;font-weight:600}
.tun-sub{margin-top:5px;font-size:13px;color:var(--ink-3);line-height:1.5}
.tun-sub.mono{font-family:var(--font-mono);font-size:12.5px}
.tun-actions{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}
.tun-actions .btn{flex:1 1 auto}
.tun-conf{margin-top:10px;padding:10px 12px;border-radius:var(--r-sm);background:var(--code-bg);font-family:var(--font-mono);font-size:12px;color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}
.tun-conf.selectable{user-select:all;-webkit-user-select:all}
.tun-test-out{margin-top:10px;font-size:13px;color:var(--ink-2)}
.fed-pin{padding:12px 0 6px;text-align:center;font-family:var(--font-mono);font-size:32px;font-weight:600;letter-spacing:.3em;user-select:all;-webkit-user-select:all}
.fed-fp{padding:1px 6px;border-radius:5px;background:var(--raised-2);font-family:var(--font-mono);font-size:12.5px;color:var(--ink)}
.fed-pin-input{font-family:var(--font-mono);font-size:24px!important;letter-spacing:.3em;text-align:center}
.fed-acc{display:flex;align-items:center;gap:10px;min-height:46px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.fed-acc:last-child{border-bottom:0}
.fed-acc-sub{margin-left:auto;font-size:12.5px;color:var(--ink-3);text-align:right;line-height:1.4}
.fed-switch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:14.5px;line-height:1.45}

/* Repositories + Push-Ziele */
.repo-bulk{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.repo-bulk .btn{flex:1 1 auto}
.repo-open-targets{margin-bottom:12px}
.repo-badge-run{background:var(--raised-2);color:var(--ink-2)}
.repo-badge-pull{background:var(--info-wash);color:var(--info)}
.repo-msg{margin-top:10px}
.repo-edit{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.repo-job{margin-top:10px;font-size:13.5px;font-weight:600;line-height:1.45}
.repo-job.ok{color:var(--ok)}
.repo-job.err{color:var(--danger)}
.repo-job.warn{color:var(--signal-ink)}
.repo-job.run{color:var(--ink-2)}
.repo-when{font-weight:400;color:var(--ink-3)}
.repo-hint{margin-top:6px;font-size:13px;color:var(--ink-2);line-height:1.5}
.repo-err{color:var(--danger)}
.repo-list{margin:6px 0 0;padding-left:20px;font-size:13px;color:var(--ink-2);line-height:1.6;max-height:200px;overflow:auto}
.repo-guard-ok{color:var(--ok);margin-top:8px}
.repo-guard-warn{color:var(--danger);margin-top:8px}
.repo-guard-body{padding:0 22px;font-size:14px;line-height:1.55;color:var(--ink-2)}
.repo-guard-body .repo-list{max-height:min(38vh,320px);margin:10px 0}
.repo-guard-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:16px 22px 20px}
.repo-guard-force{color:var(--danger)!important;border-color:var(--danger-line)!important}
#repo-guard-dialog,#repo-purge-dialog{z-index:600}
.repo-purge-sec{margin-top:10px}
.repo-purge-confirm{margin-top:12px}
.repo-purge-info{margin-top:10px;font-size:13px;color:var(--ink-3)}
.repo-purge-info .repo-list{color:var(--ink-3);max-height:none;overflow:visible;margin-top:0}
.repo-log-toggle{padding:8px 0 0;font-size:13px;color:var(--ink-3)}
.repo-log-toggle:hover{color:var(--ink-2)}
.repo-log{margin-top:6px;padding:10px;border-radius:var(--r-sm);background:var(--code-bg);font-family:var(--font-mono);font-size:12px;color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}
.repo-empty{padding:14px;text-align:center;font-size:13.5px;color:var(--ink-3)}
.repo-targets{display:flex;flex-direction:column;gap:2px;margin-top:10px;padding-top:6px;border-top:1px solid var(--line)}
.rt-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:3px 0}
.rt-name{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0}
.rt-label{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.rt-where{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rt-where a{color:var(--ink-2)}
.repo-connect-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.repo-connect-grid .ae-field{margin-bottom:0}
.repo-connect-url{overflow-wrap:anywhere}
.repo-server-opt{display:flex;align-items:center;gap:10px;min-height:38px;font-size:14px;color:var(--ink-2);cursor:pointer;min-width:0}
.repo-server-opt code{margin-left:auto;font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.repo-found{margin-top:14px;padding:8px 14px 12px;border-radius:var(--r-lg);border:1.5px dashed var(--line-2)}
.repo-found .git-menu-head{padding:6px 0 4px}
.repo-found-row{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:14px}
.repo-found-row .btn{flex-shrink:0}
.repo-avail-head{display:flex;align-items:center;gap:8px}
.repo-avail-head .git-menu-head{flex:1;min-width:0;padding-left:0}
.repo-avail-reload{min-height:34px;padding:0 6px;font-size:13px;color:var(--ink-3)}
.repo-avail-reload:hover{color:var(--ink-2)}
.repo-avail-note{margin-bottom:6px;font-size:13px;color:var(--ink-3);line-height:1.5}
.repo-avail-filter{margin:4px 0 8px}
.repo-avail-row{padding:8px 0;border-top:1px solid var(--line)}
.repo-avail-row:first-child{border-top:0}
.repo-avail-line{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px}
.repo-avail-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.repo-avail-name{font-weight:600;overflow-wrap:anywhere}
.repo-avail-sub{font-size:12.5px;color:var(--ink-3);line-height:1.45;overflow-wrap:anywhere}
.repo-avail-line .btn{flex-shrink:0}
.repo-avail-x{width:34px;height:34px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--ink-3)}
.repo-avail-x:hover{background:var(--raised)}
.repo-avail-form{margin-top:8px}
.repo-avail-more{margin-top:8px;font-size:13.5px;color:var(--ink-2)}
.repo-avail-more>summary{cursor:pointer;padding:6px 0}
.pz-legend{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:baseline;margin:0 0 12px;font-size:14px;color:var(--ink-2);line-height:1.45}
.pz-tag{justify-content:center;min-width:52px}
.pz-tag-primary{background:var(--signal-wash);color:var(--signal-ink)}
.pz-tag-all{background:var(--ok-wash);color:var(--ok)}
.pz-tag-off{background:var(--raised-2);color:var(--ink)}
.pz-sum{margin-top:3px;font-size:13.5px;color:var(--ink-3);line-height:1.45}
.pz-sum b{color:var(--ink)}
.pz-warn{color:var(--signal-ink)}
.pz-rows{margin-top:8px}
.pz-row{display:flex;align-items:center;gap:10px;min-height:54px;padding:6px 0;border-top:1px solid var(--line)}
.pz-row.is-off .rt-label{color:var(--ink-3);font-weight:450}
.pz-seg{display:inline-flex;flex-shrink:0;gap:2px;padding:3px;border-radius:var(--r-md);background:var(--sunken);border:1px solid var(--line)}
.pz-opt{min-width:48px;min-height:38px;padding:0 9px;border-radius:8px;font-size:13px;font-weight:600;color:var(--ink-3);transition:background var(--t-fast),color var(--t-fast)}
.pz-opt:hover:not(:disabled):not([aria-pressed="true"]){color:var(--ink)}
.pz-opt[aria-pressed="true"][data-pz-set="primary"]{background:var(--signal-wash);color:var(--signal-ink)}
.pz-opt[aria-pressed="true"][data-pz-set="all"]{background:var(--ok-wash);color:var(--ok)}
.pz-opt[aria-pressed="true"][data-pz-set="off"]{background:var(--raised);color:var(--ink)}
.pz-opt.locked,.pz-opt:disabled{opacity:.5}
.pz-connect{width:100%;margin-top:14px}
.pz-new{font-size:13px}

/* ── Sicherheit (2FA) ────────────────────────────────────────────────────── */
.tfa-method-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tfa-method-title{flex:1;min-width:0;font-size:15px;font-weight:600}
.tfa-pill{background:transparent;box-shadow:inset 0 0 0 1px var(--line-2)}
.tfa-pill.on,.tfa-pill.paused{box-shadow:none}
.tfa-method .ae-help{margin-top:6px}
.tfa-method .push-actions{margin-top:12px}
.tfa-pk-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.tfa-pk{display:flex;align-items:center;gap:8px;min-height:50px;padding:6px 6px 6px 12px;border-radius:var(--r-md);background:var(--raised)}
.tfa-pk-main{flex:1;min-width:0}
.tfa-pk-name{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tfa-pk-sub{font-size:12.5px;color:var(--ink-3)}
.tfa-panel-title{margin-bottom:12px;font-size:15px;font-weight:600}
.tfa-steps{margin:0 0 12px;padding-left:20px;font-size:14px;color:var(--ink-2);line-height:1.6}
.tfa-qr{display:flex;justify-content:center;margin:0 0 14px}
.tfa-qr img{padding:10px;border-radius:var(--r-md);background:#fff}
.tfa-code-input{letter-spacing:.14em}
.tfa-code-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}
.tfa-code-grid code{padding:10px 6px;border-radius:var(--r-sm);background:var(--raised);text-align:center;font-size:15px;letter-spacing:.1em;user-select:all;-webkit-user-select:all}

/* ── System ──────────────────────────────────────────────────────────────── */
.res-field{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:14px;color:var(--ink-2)}
.res-field+.res-field{border-top:1px solid var(--line)}
.res-ctl{display:flex;align-items:center;gap:8px;flex-shrink:0}
.res-field input[type=number]{width:92px;text-align:right}
.res-field select{width:auto}
.res-group{padding:2px 16px;border-radius:var(--r-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);margin-bottom:14px}
.res-mem-readout{font-size:14px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.res-mem-bar{height:8px;margin:8px 0 14px;border-radius:4px;background:var(--raised-2);overflow:hidden}
.res-mem-bar>i{display:block;height:100%;border-radius:4px;background:var(--ok);transition:width .4s,background .4s}
.res-mem-bar.low>i{background:var(--signal)}
.res-mem-bar.critical>i{background:var(--danger)}
.sys-btn-row{display:flex;gap:8px;flex-wrap:wrap}
.sys-danger-zone{margin-top:14px;padding:14px 16px;border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--danger-line);background:var(--danger-wash)}
.sys-danger-title{display:flex;align-items:center;gap:7px;margin-bottom:10px;font-size:14px;font-weight:600;color:var(--danger)}
.sys-sub{font-size:14px;font-weight:600;margin-bottom:6px}

/* ── Versionen ───────────────────────────────────────────────────────────── */
.ver-agent-head{display:flex;align-items:center;gap:9px;margin-bottom:4px}
.ver-agent-name{font-size:15.5px;font-weight:600}
.ver-agent-tag{background:var(--raised-2)}
.ver-pill{margin-left:auto;font-size:13px;font-weight:600;white-space:nowrap}
.ver-pill.ok{color:var(--ok)}
.ver-pill.upd{color:var(--violet)}
.ver-pill.err{color:var(--danger)}
.ver-pill.mut{color:var(--ink-3)}
.ver-rows{display:flex;flex-direction:column;margin:8px 0 12px;border-top:1px solid var(--line)}
.ver-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:38px;padding:8px 0;border-bottom:1px solid var(--line)}
.ver-row-lbl{font-size:13.5px;color:var(--ink-3)}
.ver-row-val{font-family:var(--font-mono);font-size:13px;color:var(--ink-2);text-align:right;overflow-wrap:anywhere}
.ver-row-val.new{color:var(--violet);font-weight:600}
.ver-row-val.mut{font-family:var(--font-ui);color:var(--ink-3)}
.ver-note{margin:-4px 0 12px;font-size:13px;color:var(--ink-3);line-height:1.5}
.ver-actions{display:flex;gap:8px;flex-wrap:wrap}
.ver-actions .btn{flex:1 1 auto}
.ver-actions .btn-uninstall{flex:0 0 auto}
.ver-status{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13.5px;color:var(--ink-3);line-height:1.5}
.ver-status.ok{color:var(--ok)}
.ver-status.err{color:var(--danger)}
.ver-sec-title{font-size:16px;font-weight:600;margin:28px 0 10px}
.ver-sec-hdr{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:28px 0 10px}
.ver-sec-hdr .ver-sec-title{margin:0}
.ver-comp-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.ver-comp-item:last-child{border-bottom:0}
.ver-comp-main,.ver-comp-info{flex:1;min-width:0}
.ver-comp-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ver-comp-name{font-size:14.5px;font-weight:600}
.ver-comp-ver{font-family:var(--font-mono);font-size:12.5px;color:var(--ink-2)}
.ver-comp-desc{margin-top:3px;font-size:13px;color:var(--ink-3);line-height:1.45}
.ver-comp-acts,.ver-comp-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.ver-auto{margin-top:6px}

/* ── Ab Tablet: zweispaltig ──────────────────────────────────────────────── */
@media (min-width:768px){
  .set-topbar{padding-left:18px}
  .set-title{padding-left:0}
  .set-viewport{display:flex}
  .set-home,.set-pages{position:static;transform:none!important;opacity:1!important;pointer-events:auto!important;transition:none}
  .set-home{flex:0 0 300px;padding:10px 10px 24px;border-right:1px solid var(--line);background:var(--surface)}
  .set-cat{min-height:46px;padding:6px 12px}
  .set-cat-tx span{display:none}
  .set-cat-chev{display:none}
  .set-cat-val{font-size:12.5px}
  .set-cat.active::before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--signal)}
  .set-cat{position:relative}
  .set-pages{flex:1;padding:12px 28px 0}
  .set-back{display:none!important}
  .set-page{padding:20px 0 56px}
  .set-page.active::before{content:attr(data-title);display:block;margin-bottom:20px;font-size:26px;font-weight:600;letter-spacing:-.022em;line-height:1.2}
}
@media (max-width:767px){
  .set-page{padding:16px 14px 36px}
  .push-row{padding:12px 14px}
  .theme-pick{gap:8px}
}
