/* Fußzeile (gemeinsam für Portal und Admin-Bereich) und Info-Dialog */
footer { text-align:center; padding:1.2rem; font-size:.85rem; color:var(--muted); }
footer a { color:var(--link); }
footer > * + * { margin-left:1rem; }
footer .linkbtn { background:none; border:0; padding:0; color:var(--link); font:inherit; cursor:pointer; text-decoration:underline; }
footer .linkbtn[hidden] { display:none; }
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; border:1px solid var(--line); border-radius:16px; background:var(--surface); color:var(--text); box-shadow:var(--shadow-hover); font-family:var(--font); }
dialog.about:focus { outline:none; }
.about-close:focus:not(:focus-visible) { outline:none; }
dialog.about::backdrop { background:rgba(10, 30, 50, .55); }
.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; }
.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:auto; max-width:160px; object-fit:contain; flex:none; }
.about-text { margin:0 0 1rem; } 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; }
.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; } }
