/* Ergänzungen zum Intranet-Design (theme.css + layout.css kommen aus dem Projekt „intranet LH“) */
.top .logo { border-radius:10px; }
.nav a.item { display:flex; align-items:center; gap:.5rem; padding:.5rem .8rem; margin:.15rem 0; border-radius:8px; text-decoration:none; color:var(--text); }
.nav a.item:hover { background:var(--hover); color:var(--link); }
.nav a.item.active { background:var(--primary); color:#fff; }
.nav .group { margin-top:.9rem; }

.sub { color:var(--muted); margin:-.4rem 0 1.2rem; }
.bar { display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; margin:0 0 1rem; }
.bar .grow { flex:1; }
input[type=text], input[type=password], input[type=search], select, textarea { padding:.55rem .8rem; border:1px solid var(--line); border-radius:10px; background:var(--input-bg); color:var(--text); font:inherit; }
input:focus, select:focus, textarea:focus, button:focus-visible, a:focus-visible { outline:none; box-shadow:0 0 0 3px var(--ring); border-color:var(--blue); }
textarea { width:100%; min-height:12rem; font-family:ui-monospace, Consolas, monospace; font-size:.92rem; }
label { display:block; font-weight:600; margin:.7rem 0 .25rem; }
label.inline { display:inline-flex; align-items:center; gap:.35rem; font-weight:400; margin:0 .8rem 0 0; }

.btn { display:inline-block; padding:.5rem 1rem; border:1px solid var(--line); border-radius:999px; background:var(--btn-bg); color:var(--text); font:inherit; cursor:pointer; text-decoration:none; }
.btn:hover { background:var(--hover); }
.btn.primary { background:var(--primary); border-color:var(--primary); color:#fff; font-weight:600; }
.btn.primary:hover { background:var(--primary-hover); }
.btn.danger { color:var(--err-text); border-color:var(--err-text); background:transparent; }
.btn.danger:hover { background:var(--err-text); color:#fff; }
.btn.small { padding:.25rem .7rem; font-size:.88rem; }

.err { color:var(--err-text); min-height:1.3em; margin:.4rem 0; }
.ok { color:var(--ok-text); }
.muted { color:var(--muted); }
.chip { display:inline-block; padding:.1rem .6rem; border-radius:999px; background:var(--chip-bg); color:var(--link); font-size:.85rem; }
.chip.warn { background:transparent; border:1px solid var(--err-text); color:var(--err-text); }

.cmd { display:flex; gap:.5rem; align-items:center; background:var(--surface-2); border-radius:10px; padding:.5rem .5rem .5rem .9rem; margin:.4rem 0; }
.cmd code { flex:1; overflow-x:auto; white-space:nowrap; background:none; padding:0; }

.content table.t td:first-child { white-space:normal; }
.content table.t td.nw { white-space:nowrap; }
.content table.t td.num { text-align:right; white-space:nowrap; }
.content table.t td.acts { white-space:normal; text-align:right; min-width:9rem; }
td.acts .btn { margin:0 0 .3rem .3rem; }
.repo-link { font-weight:650; text-decoration:none; word-break:break-all; }
.repo-link:hover { text-decoration:underline; }

.card { background:var(--card-bg); border:1px solid var(--line); border-radius:var(--radius); padding:1rem 1.2rem; margin:1rem 0; }
.card h3 { margin-top:0; }
.form-row { display:flex; flex-wrap:wrap; gap:.7rem; align-items:end; }
.form-row > div { flex:1 1 12rem; }
.form-row input, .form-row select { width:100%; }

.login { max-width:24rem; margin:2rem auto; }
.login input { width:100%; }

.md p { margin:.5rem 0; }
.md ul { margin:.5rem 0; padding-left:1.4rem; }
.md h4, .md h5 { margin:1rem 0 .3rem; }

dialog { border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); color:var(--text); width:min(40rem, calc(100vw - 2rem)); box-shadow:var(--shadow-hover); padding:1.3rem 1.5rem; }
dialog::backdrop { background:rgba(5, 20, 40, .55); }
dialog .row { display:flex; justify-content:flex-end; gap:.6rem; margin-top:1rem; }

.toast { position:fixed; right:1rem; bottom:1rem; background:var(--nav-bg); color:#fff; padding:.6rem 1rem; border-radius:10px; box-shadow:var(--shadow-hover); z-index:100; }

@media (max-width:800px) {
  .layout { width:100%; flex-direction:column; }
  .nav { width:100%; padding:.8rem; }
  .content { margin:.6rem; padding:1.1rem; }
  .top { flex-wrap:wrap; padding:.6rem 4%; }
  .whoami { display:none; }
}
.scroll { overflow-x:auto; }
@media print { .top, .nav, footer, .btn { display:none; } .content { border:0; box-shadow:none; } }
.nav:empty { display:none; }

/* Fußzeile und Info-Fenster (wie im Intranet) */
footer > * + * { margin-left:1rem; }
footer .linkbtn { background:none; border:0; padding:0; color:var(--link); font:inherit; cursor:pointer; text-decoration:underline; }
footer .build { color:var(--muted-2); font-size:.8rem; } footer .build:empty { display:none; }
dialog.about { width:min(34rem, calc(100vw - 2rem)); max-height:calc(100vh - 3rem); overflow:auto; padding:1.4rem 1.6rem; position:relative; }
dialog.about:focus { outline:none; }
.about-close:focus:not(:focus-visible) { outline:none; }
.about-close { position:absolute; top:.6rem; right:.7rem; width:2rem; height:2rem; border:0; border-radius:999px; background:var(--surface-2); color:var(--text); font-size:1.3rem; line-height:1; cursor:pointer; z-index:1; }
.about-close:hover { background:var(--hover); }
.about-head { display:flex; align-items:center; gap:1rem; margin:0 0 1rem; padding:.9rem 1rem; border-radius:12px; background:var(--hero); color:#fff; }
.about-head h2 { margin:0; font-size:1.25rem; color:#fff; border:0; padding:0; } .about-head p { margin:.15rem 0 0; opacity:.9; font-size:.9rem; }
.about-logo { height:44px; width:44px; border-radius:10px; flex:none; }
dialog.about h3 { margin:1.1rem 0 .4rem; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); }
.about-facts { margin:0; display:grid; gap:.3rem; } .about-row { display:flex; gap:1rem; } .about-row dt { flex:0 0 11rem; color:var(--muted); } .about-row dd { margin:0; font-weight:600; word-break:break-all; }
.about-note { margin:0; font-size:.9rem; color:var(--muted-2); }
dialog.about kbd { display:inline-block; min-width:1.6rem; text-align:center; padding:.05rem .4rem; border:1px solid var(--line); border-bottom-width:2px; border-radius:6px; background:var(--surface-2); font:inherit; font-size:.85rem; }
@media (max-width:480px) { .about-row { flex-direction:column; gap:0; } .about-row dt { flex:none; } }

/* Infotext zu einem Tag: eingerückt mit Linie links, damit man sieht, dass er zum Tag darüber gehört */
.tag-info { margin:.1rem 0 0 1.1rem; padding:.1rem 0 .1rem .9rem; border-left:3px solid var(--blue); color:var(--muted-2); font-size:.92rem; }
.tag-info .md > :first-child { margin-top:0; } .tag-info .md > :last-child { margin-bottom:0; }
.tag-info .md h4, .tag-info .md h5 { font-size:.95rem; }
.content table.tags tr.has-info > td { border-bottom:0; padding-bottom:.2rem; }
.content table.tags tr.info-row > td { padding-top:0; padding-bottom:.8rem; white-space:normal; }

/* Speicher-Übersicht */
.stat { padding:.4rem 1rem; background:var(--card-bg); border:1px solid var(--line); border-radius:var(--radius); }
.stat strong { font-size:1.2rem; color:var(--heading); }
.content table.t td.barcell { width:30%; min-width:8rem; }
.bar-track { height:.7rem; background:var(--surface-2); border-radius:999px; overflow:hidden; }
.bar-fill { height:100%; background:var(--primary); border-radius:999px; }
