/* Teilnehmenden-Bereich (Okt. 2026) – nutzt die Variablen aus style.css */
#zugang,#unterlagen,#oeffentlich{scroll-margin-top:60px;}
#zugang{background:white;padding:3.5rem 4% 1.5rem;}
#unterlagen{background:white;padding:1.5rem 4% 2rem;}
#oeffentlich{background:var(--light);padding:3rem 4% 3.5rem;}
.tn-narrow{max-width:820px;}
.tn-card{background:white;border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:14px;padding:2rem 2rem 1.8rem;box-shadow:0 8px 30px rgba(10,22,40,0.07);}
.tn-card[hidden]{display:none;}
.tn-lock{width:46px;height:46px;border-radius:50%;background:rgba(13,110,138,0.1);position:relative;margin-bottom:1rem;}
.tn-lock::before{content:'';position:absolute;left:14px;top:21px;width:18px;height:14px;border-radius:3px;background:var(--primary);}
.tn-lock::after{content:'';position:absolute;left:16px;top:9px;width:10px;height:13px;border:3px solid var(--primary);border-bottom:0;border-radius:8px 8px 0 0;}
.tn-h{font-size:1.35rem;font-weight:700;color:var(--dark);line-height:1.3;margin-bottom:0.6rem;}
.tn-card p{font-size:0.95rem;color:var(--text-light);line-height:1.65;}
.tn-form{margin-top:1.4rem;display:grid;gap:1rem;}
.tn-field{display:grid;gap:0.35rem;}
.tn-field span{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--primary-dark);}
.tn-field input{font:inherit;font-size:1rem;padding:0.75rem 0.9rem;border:1.5px solid #c5dce5;border-radius:8px;background:white;color:var(--text);width:100%;}
.tn-field input:focus{outline:3px solid rgba(0,196,224,0.35);border-color:var(--accent);}
.tn-consent{display:flex;gap:0.7rem;align-items:flex-start;font-size:0.84rem;color:var(--text-light);line-height:1.55;cursor:pointer;}
.tn-consent input{flex:none;margin-top:0.25rem;width:18px;height:18px;accent-color:var(--primary);}
.tn-consent a{color:var(--primary);}
#tn-submit{cursor:pointer;font-family:inherit;border:0;justify-self:start;}
#tn-submit[disabled]{opacity:0.6;cursor:wait;}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.tn-msg{margin-top:0.2rem;padding:0.8rem 1rem;border-radius:6px;font-size:0.9rem;border-left:3px solid var(--primary);background:var(--light);color:var(--dark);}
.tn-card p.tn-msg{color:var(--dark);}
.tn-msg[hidden]{display:none;}
.tn-msg-err,.tn-msg.is-err{border-left-color:#c0392b;background:#fdf1ef;color:#7b241c;}
.tn-card p.tn-msg-err{color:#7b241c;margin:0.8rem 0;}
.tn-noscript{padding:1rem;background:#fff6dd;border:1px solid #e6c96a;border-radius:6px;font-size:0.9rem;margin-bottom:1rem;}
.tn-course{margin:0.3rem 0;}
.tn-course strong{color:var(--dark);}
.tn-until{font-family:var(--font-mono);font-size:0.78rem !important;margin-bottom:1rem;}
#tn-logout{cursor:pointer;font-family:inherit;}
.tn-items{list-style:none;display:grid;gap:0.9rem;margin:1rem 0 0;padding:0;}
.tn-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--light);border:1px solid var(--border);border-radius:10px;padding:1rem 1.2rem;}
.tn-item strong{display:block;color:var(--dark);font-size:1rem;}
.tn-item div span{display:block;font-size:0.86rem;color:var(--text-light);line-height:1.55;margin-top:0.15rem;}
.tn-item-locked{opacity:0.78;}
.tn-chip{flex:none;font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--primary-dark);background:white;border:1px solid var(--border);border-radius:50px;padding:0.3rem 0.8rem;}
.tn-item-open{background:white;border-top:3px solid var(--accent);align-items:flex-start;flex-wrap:wrap;}
.tn-dl{display:flex;flex-wrap:wrap;gap:0.5rem;}
.tn-dl button,.tn-dl .tn-soon{font:inherit;font-size:0.82rem;font-weight:700;border-radius:50px;padding:0.5rem 1.1rem;}
.tn-dl button{cursor:pointer;border:0;background:var(--accent);color:var(--dark);}
.tn-dl button:hover{background:var(--primary-light);color:white;}
.tn-dl button[disabled]{opacity:0.6;cursor:wait;}
.tn-dl .tn-soon{border:1px dashed #b7cbd3;color:var(--text-light);font-weight:600;}
.tn-open-links{display:flex;flex-wrap:wrap;gap:0.6rem;}
.tn-open-links a{border:1px solid var(--border);background:white;color:var(--primary-dark);font-weight:600;font-size:0.86rem;padding:0.5rem 1.1rem;border-radius:50px;text-decoration:none;}
.tn-open-links a:hover{border-color:var(--primary);color:var(--primary);}
@media(max-width:600px){.tn-card{padding:1.5rem 1.2rem;}.tn-item{flex-direction:column;align-items:flex-start;}}
