/* Wellesberg e.V. – Mitgliederportal: dunkles Vereinsdesign */
:root{color-scheme:dark;--bg:#101312;--panel:#1d2421;--panel-alt:#252f2a;--text:#f5f8f6;--muted:#b8c8bf;--green:#268463;--green-hover:#32a47c;--border:#43564b}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,Arial,sans-serif}
main{max-width:850px;margin:0 auto;padding:20px}
header{background:linear-gradient(135deg,#123f32,#1c624b);color:#fff;padding:22px 24px;border:1px solid #36735b;border-radius:14px;margin-bottom:20px;box-shadow:0 4px 20px #0005}
header h1{margin:0;color:#fff}header p{margin:0;color:#e1f1e8}
section{background:var(--panel);color:var(--text);padding:22px;margin:16px 0;border:1px solid var(--border);border-radius:14px;box-shadow:0 3px 14px #0004}
h1,h2,h3{color:#fff}h2{margin-top:0}
label{display:block;font-weight:600;margin:14px 0;color:var(--text)}
input,select,textarea{display:block;width:100%;max-width:480px;margin-top:6px;padding:12px;background:#121a16;color:#fff;border:1px solid #6b8374;border-radius:8px;font:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid #70d3a7;outline-offset:1px;border-color:#70d3a7}
input::placeholder,textarea::placeholder{color:#b0bdb5}
button,.button{display:inline-block;background:var(--green);color:#fff;border:1px solid #4ca886;border-radius:8px;padding:12px 18px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
button:hover,.button:hover{background:var(--green-hover);color:#fff}button:focus-visible,a:focus-visible{outline:2px solid #b2f2d1;outline-offset:3px}button.small{padding:8px 12px}
a{color:#8de3b9}a:hover{color:#b5f6d4}
.top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px}dt{font-weight:700;color:#d3e9dc}dd{margin:0;overflow-wrap:anywhere}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px;border-bottom:1px solid var(--border)}th{background:var(--panel-alt);color:#eaf6ee}section:has(table){overflow-x:auto}
.error{color:#ffaaaa}.success{color:#8ee4b0}.hint,.muted,small{color:var(--muted)}.hint{font-size:14px}
@media(max-width:600px){dl{grid-template-columns:1fr}dd{margin-bottom:8px}main{padding:10px}section{padding:16px}header{padding:18px}}
