/* Ergänzt /styles.css des Fragebogens; Farben, Schrift und Grundlayout kommen von dort. */

:root { --stripe: #bfd1c3; }

.status { min-height: 1.5em; margin: 16px 0 0; color: var(--muted); font-size: .86rem; font-weight: 700; }
.hero + .status, .hero + .error-message { margin: 0 0 16px; }

.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 5px; background: var(--card); }
table { width: 100%; border-collapse: collapse; text-align: left; }
th, td { padding: 15px 18px; border-bottom: 1px solid var(--line); font-size: .9rem; vertical-align: top; }
th { color: var(--muted); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
tr:last-child td { border-bottom: 0; }
tbody tr:nth-child(even) td { background: var(--stripe); }

/* Semesterprojekte */
.projects .name { width: 200px; font-weight: 750; }
.projects .invited { width: 120px; text-align: center; }
.projects th.invited { white-space: normal; }
.invite { margin: 18px 0 0; font-size: .92rem; font-weight: 700; }
.projects input[type="checkbox"] { width: 17px; height: 17px; accent-color: var(--accent); }
.projects textarea { width: 100%; min-height: 120px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 4px; outline: 0; background: var(--card); color: var(--ink); font: .82rem/1.5 ui-monospace, "SF Mono", Menlo, monospace; resize: vertical; }
.projects textarea:focus { border-color: var(--accent); }
.projects textarea + .markdown { margin-top: 14px; }
.markdown > :first-child { margin-top: 0; }
.markdown > :last-child { margin-bottom: 0; }
.markdown h1, .markdown h2, .markdown h3 { margin: .9em 0 .3em; font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; font-weight: 400; letter-spacing: -.02em; line-height: 1.2; }
.markdown ul, .markdown ol { padding-left: 1.2em; }
.markdown code { font: .85em ui-monospace, "SF Mono", Menlo, monospace; }
.markdown a { color: var(--accent-dark); }
.empty { color: var(--muted); }

/* Prüfungstermine */
.legend { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0 0 18px; padding: 0; color: var(--muted); font-size: .78rem; font-weight: 700; list-style: none; }
.legend span { display: inline-block; width: 24px; height: 14px; margin-right: 7px; border: 1px solid var(--line); border-radius: 4px; background: var(--card); vertical-align: -2px; }
.exam { table-layout: fixed; }
.exam th, .exam td { min-width: 190px; padding: 6px 9px; vertical-align: middle; }
.exam th { padding: 15px 18px; }
.exam th:first-child, .exam td.time { width: 84px; min-width: 84px; padding-left: 18px; color: var(--muted); font-variant-numeric: tabular-nums; }
.exam .break td { padding: 9px 18px; background: var(--paper); color: var(--muted); font-size: .75rem; font-weight: 700; text-align: center; }
.exam input[type="text"] { width: 100%; margin: 0; padding: 9px 11px; border: 1px solid var(--line); border-radius: 4px; background: var(--card); font-size: .88rem; }
.exam input[type="text"]:focus { border-color: var(--accent); box-shadow: none; }
.exam input.mine, .legend .mine { border-color: var(--accent); background: #fff5f0; }
.exam input.mine { font-weight: 750; }
.exam input.taken, .legend .taken { border-color: transparent; background: #9fb5a5; }
.exam input.taken { color: var(--ink); }
.exam input.locked, .legend .locked { border-style: dashed; opacity: .5; }

/* Menü über allen drei Seiten (index.html) */
.frame-page { display: grid; grid-template-rows: auto 1fr; height: 100dvh; }
.menu { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; padding: 10px 18px; border-bottom: 1px solid var(--line); background: var(--card); }
.menu .eyebrow { margin-right: auto; padding-right: 18px; }
.menu a { padding: 7px 13px; border-radius: 4px; color: var(--ink); font-size: .83rem; font-weight: 750; text-decoration: none; }
.menu a:hover { background: var(--soft); }
.menu a[aria-current] { background: var(--ink); color: #fff; }
.frame-page iframe { width: 100%; height: 100%; border: 0; }

@media (max-width: 620px) {
  th, td { padding: 12px; }
  .projects .name { width: auto; }
}
