/* Streamplan und Content-Planer */
.weekhead { margin: 22px 0 8px; color: var(--cyan2); letter-spacing: .08em; text-transform: uppercase; font-size: .82rem; }
.nextbox { text-align: center; border-color: #3a46a8; box-shadow: 0 0 30px #5a2bbd44; margin-bottom: 18px; }
.nextbox .lbl { color: var(--pink); letter-spacing: .12em; text-transform: uppercase; font-size: .78rem; margin-bottom: 4px; }
.nextbox h2 { font-size: clamp(1.3rem, 3.6vw, 1.9rem); margin-bottom: 6px; }
.nextbox .route { justify-content: center; }
.nwhen { color: var(--cyan2); font-size: 1.05rem; }
.ncount { margin: 10px 0 4px; font-size: clamp(1.4rem, 5vw, 2.2rem); font-weight: 700; font-variant-numeric: tabular-nums; background: linear-gradient(90deg, var(--cyan2), var(--pink)); -webkit-background-clip: text; background-clip: text; color: transparent; }

.scard, .prow { flex-direction: row; align-items: center; gap: 16px; margin-top: 10px; flex-wrap: wrap; }
.sdate { display: grid; min-width: 96px; text-align: center; background: #0a0f33; border: 1px solid var(--line); border-radius: 12px; padding: 8px 10px; }
.sdate b { font-size: 1.05rem; } .sdate span { color: var(--cyan2); font-size: .9rem; }
.sbody { flex: 1 1 260px; min-width: 0; display: grid; gap: 4px; }
.sbody h3 { margin: 0; }
.scard .actions, .prow .actions { margin-top: 0; align-items: center; }
.prow select { width: auto; padding: 6px 8px; font-size: .84rem; }

.pdots { display: inline-flex; gap: 4px; }
.pd { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 6px; font-size: .72rem; background: #0a0f33; border: 1px solid var(--line); color: var(--muted); }
.pd.done { background: #07261a; border-color: #1d7a52; color: #aef0d1; }
.pd.done::after { content: "✔"; font-size: .55rem; margin-left: 1px; }

.pubblock { padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: #0a0f33; }
.pubblock pre { background: transparent; border-color: #1a2260; max-height: 220px; overflow: auto; }
.editor { border-color: var(--cyan); box-shadow: 0 0 18px #38c8ff33; }

/* Board */
.board { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(210px, 1fr)); overflow-x: auto; padding-bottom: 8px; }
.col { background: rgba(10, 15, 51, .6); border: 1px solid var(--line); border-radius: var(--r); padding: 10px; min-height: 160px; }
.col h3 { font-size: .9rem; color: var(--cyan2); letter-spacing: .06em; text-transform: uppercase; }
.bcard { background: #121852; border: 1px solid var(--line); border-radius: 10px; padding: 10px; margin-top: 8px; display: grid; gap: 6px; }
.bcard .actions { margin-top: 0; }
.bcard .actions button { padding: 4px 9px; }

/* Kalender */
.calbar { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.calbar h3 { margin: 0; min-width: 150px; text-align: center; text-transform: capitalize; }
.cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.calh { text-align: center; color: var(--muted); font-size: .78rem; padding: 4px 0; }
.cell { min-height: 96px; background: #0a0f33; border: 1px solid #1a2260; border-radius: 8px; padding: 4px; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cell.other { opacity: .45; }
.cell.today { border-color: var(--cyan); box-shadow: 0 0 10px #38c8ff44; }
.dnum { align-self: flex-start; padding: 0 7px; font-size: .8rem; color: var(--muted); border-color: transparent; }
.ev { display: block; width: 100%; text-align: left; padding: 2px 6px; font-size: .72rem; border-radius: 6px; border: 1px solid var(--line); background: #141a52; color: var(--text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none; }
.ev.live { border-color: #8a2a5a; background: #2a0f22; color: #ffb3d8; }
.ev.bereit { border-color: #8a6a22; } .ev.veroeffentlicht { border-color: #1d7a52; color: #aef0d1; opacity: .75; } .ev.idee { border-style: dashed; }

@media (max-width: 900px) { .board { grid-template-columns: repeat(4, 240px); } }
@media (max-width: 720px) {
  .cell { min-height: 64px; } .ev { font-size: .62rem; padding: 1px 3px; }
  .scard, .prow { gap: 10px; }
}
@media print { .no-print { display: none !important; } }
