/* Uploads index + FTP lookup — on top of s44-student-area.css */
.brand .subtitle--discipline {
  margin-top: 3px;
  text-transform: none;
  letter-spacing: 0.04em;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 500;
  color: var(--muted);
}
@media (max-width: 640px) {
  .brand .subtitle--discipline {
    font-size: 11px;
    letter-spacing: 0.04em;
  }
}

:root {
  --bad: #b00020;
  --ok: #0b6e4f;
}
:root[data-theme="dark"] {
  --bad: #ff8a80;
  --ok: #69f0ae;
}

.grid.uploads-folder-grid {
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 12px;
}

@media (max-width: 520px) {
  .grid.uploads-folder-grid {
    grid-template-columns: 1fr;
  }
}

.uploads-folder-grid .cardlink .name {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 14px;
  letter-spacing: 0.04em;
}

.uploads-empty {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 15.5px;
  line-height: 1.55;
}

/* FTP lookup form */
.ftp-form label {
  display: block;
  font-weight: 650;
  font-size: 14px;
  margin-bottom: 8px;
  color: var(--ink);
}
.form-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
}
.matrikel-input {
  width: 14ch;
  max-width: 100%;
  padding: 10px 12px;
  font-size: 16px;
  font-variant-numeric: tabular-nums;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 0.06em;
  border-radius: 12px;
  border: var(--border) solid var(--stroke);
  background: rgba(255, 255, 255, 0.6);
  color: var(--ink);
}
:root[data-theme="dark"] .matrikel-input {
  background: rgba(5, 11, 20, 0.55);
}
.submit-btn {
  margin: 0;
  padding: 10px 18px;
  font-size: 15px;
  font-weight: 700;
  border: none;
  border-radius: 12px;
  background: var(--blue);
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
}
.submit-btn:hover {
  filter: brightness(1.08);
}
.field-hint {
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--muted);
}
.msg {
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.45;
}
.msg.err {
  border: var(--border) solid var(--stroke);
  color: var(--bad);
  background: rgba(176, 0, 32, 0.06);
}
:root[data-theme="dark"] .msg.err {
  background: rgba(255, 138, 128, 0.08);
}
.msg.ok {
  border: var(--border) solid var(--stroke);
}
.cred {
  margin-top: 10px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 14px;
  word-break: break-all;
}
.cred strong {
  font-family: inherit;
  font-weight: 700;
}
.cred-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 12px;
  margin-top: 12px;
}
.cred-row .cred-label {
  flex: 0 0 5.5rem;
  font-family: inherit;
  font-size: 14px;
}
.cred-row .cred-label strong {
  font-weight: 700;
}
.cred-row .cred-value {
  flex: 1 1 12rem;
  min-width: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 14px;
  word-break: break-all;
}

/* Project URL in FTP lookup: not .hero a turquoise — theme-aware blue / turquoise + bold */
.cred-value a.project-url-link {
  color: var(--blue);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cred-value a.project-url-link:hover {
  color: #061a35;
  filter: none;
}
:root[data-theme="dark"] .cred-value a.project-url-link {
  color: var(--turq);
  font-weight: 700;
}
:root[data-theme="dark"] .cred-value a.project-url-link:hover {
  color: #5eead4;
  filter: none;
}

.copy-btn {
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 650;
  padding: 6px 12px;
  border-radius: 8px;
  border: var(--border) solid var(--stroke);
  background: rgba(255, 255, 255, 0.55);
  color: var(--ink);
  cursor: pointer;
  font-family: inherit;
}
:root[data-theme="dark"] .copy-btn {
  background: rgba(26, 40, 70, 0.65);
}
.copy-btn:hover {
  border-color: rgba(0, 188, 212, 0.4);
}
.copy-btn:focus-visible {
  outline: 2px solid var(--turq);
  outline-offset: 2px;
}
#copy-feedback {
  margin-top: 10px;
  min-height: 1.25em;
  font-size: 13px;
  color: var(--muted);
}
.ftp-warn {
  margin-top: 24px;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.45;
}
