/* ============================================================
   Öffentlicher Theorieplan (/theorieplan) – nutzt die Design-Tokens
   aus style.css; Dark Mode (data-theme) wird automatisch übernommen.
   ============================================================ */
.site-banner{padding:13px 20px;text-align:center;font-weight:600;font-size:.95rem;font-family:var(--font-d)}
.site-banner.info{background:rgba(32,54,143,.1);color:var(--brand)}
.site-banner.warning{background:rgba(245,179,1,.16);color:#8a5d00}
.site-banner.closed{background:rgba(227,6,19,.1);color:var(--accent)}
[data-theme="dark"] .site-banner.info{background:rgba(143,179,255,.14);color:#8fb3ff}
[data-theme="dark"] .site-banner.warning{background:rgba(245,179,1,.18);color:#ffce5a}
[data-theme="dark"] .site-banner.closed{background:rgba(255,90,99,.16);color:#ff8d93}

.tplan-notice{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(135deg,rgba(32,54,143,.08),rgba(32,54,143,.03));border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:14px;padding:18px 20px;margin-bottom:30px}
.tplan-notice svg{flex-shrink:0;color:var(--brand);margin-top:1px}
.tplan-notice p{color:var(--txt);font-size:1rem;line-height:1.55;margin:0}
.tplan-day{margin-bottom:26px}
.tplan-day h2{font-size:1.05rem;color:var(--ink);font-family:var(--font-d);font-weight:800;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--line)}
[data-theme="dark"] .tplan-day h2{color:#eef2fb}
.tplan-card{display:flex;gap:16px;align-items:flex-start;background:var(--bg-card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow-sm);margin-bottom:10px;transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out),border-color .25s ease}
@media(hover:hover){.tplan-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#ccd6ef}}
.tplan-time{flex-shrink:0;min-width:118px;font-family:var(--font-d);font-weight:800;color:var(--brand);font-size:.98rem;line-height:1.3}
[data-theme="dark"] .tplan-time{color:#8fb3ff}
.tplan-time small{display:block;color:var(--muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.tplan-body{min-width:0;flex:1}
.tplan-body h3{font-size:1.04rem;color:var(--ink);margin-bottom:5px;font-weight:700;letter-spacing:-.01em}
[data-theme="dark"] .tplan-body h3{color:#eef2fb}
.tplan-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tplan-badge{display:inline-flex;font-family:var(--font-d);font-weight:700;font-size:.72rem;padding:3px 10px;border-radius:100px;background:rgba(32,54,143,.1);color:var(--brand)}
[data-theme="dark"] .tplan-badge{background:rgba(143,179,255,.15);color:#8fb3ff}
.tplan-badge.b{background:rgba(227,6,19,.1);color:var(--accent)}
[data-theme="dark"] .tplan-badge.b{background:rgba(255,90,99,.16);color:#ff8d93}
.tplan-note{font-size:.86rem;color:var(--muted);margin-top:7px}
.tplan-empty{text-align:center;padding:48px 20px;color:var(--muted)}
.tplan-empty svg{color:var(--line);margin-bottom:12px}
.tplan-empty p{font-size:1.02rem;margin-bottom:18px}
@media(max-width:560px){
  .tplan-card{flex-direction:column;gap:6px}
  .tplan-time{min-width:0}
}
