/* ============================================================
   page.css — list / document pages (e.g. the rooms directory).
   Loaded AFTER style.css on non-keyboard, scrolling pages. Holds the
   shared document chrome (header, nav, list rows) — no keyboard stage.
   ============================================================ */

body {
  min-height: 100vh;
  background-image: radial-gradient(60% 50% at 50% -10%, color-mix(in srgb, var(--glow) 12%, transparent), transparent 70%);
}

header { padding: 24px 32px 8px; }

.tagline { margin: 4px 0 0; font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: var(--dim); }

nav { margin-top: 14px; font-size: 12px; letter-spacing: .06em; }
nav a { color: var(--glow-2); text-decoration: none; }
nav a:hover { text-decoration: underline; }

main { max-width: 760px; margin: 0 auto; padding: 24px 24px 64px; }

.head, .room {
  display: grid; grid-template-columns: 1fr 84px 88px 80px; gap: 12px; align-items: center;
  padding: 14px 16px;
}
.head { color: var(--dim); font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; border-bottom: 1px solid var(--line); }
.room {
  border: 1px solid var(--line); border-radius: 12px; margin-top: 10px;
  cursor: pointer; transition: background .15s ease, border-color .15s ease, transform .1s ease;
}
.room:hover, .room:focus-visible {
  background: color-mix(in srgb, var(--glow) 10%, transparent);
  border-color: color-mix(in srgb, var(--glow) 45%, transparent);
  outline: none; transform: translateY(-1px);
}
.r-name { font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.r-id { font-size: 12px; color: var(--dim); }
.r-dur { font-size: 12px; color: var(--dim); }
.r-listeners { font-size: 12px; color: var(--glow-2); text-align: right; }
.empty { color: var(--dim); padding: 40px 16px; text-align: center; }
.empty a { color: var(--glow-2); }

/* ---- admin feedback dashboard ---------------------------------------- */
.fb-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.fb-chip {
  font-family: inherit; font-size: 12px; letter-spacing: .04em;
  padding: 6px 14px; border-radius: 999px; cursor: pointer;
  color: var(--dim); background: transparent; border: 1px solid var(--line);
  transition: color .15s ease, background .15s ease, border-color .15s ease;
}
.fb-chip:hover { color: var(--text); }
.fb-chip.is-active { color: #0a0a0f; background: var(--glow-2); border-color: transparent; }

.fb-head, .fb-row {
  display: grid; grid-template-columns: 150px 110px 170px 1fr; gap: 12px; align-items: start;
  padding: 12px 16px;
}
.fb-head {
  color: var(--dim); font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase;
  border-bottom: 1px solid var(--line);
}
.fb-row {
  border: 1px solid var(--line); border-radius: 12px; margin-top: 10px;
  cursor: pointer; font-size: 13px;
  transition: border-color .15s ease, background .15s ease;
}
.fb-row:hover {
  border-color: color-mix(in srgb, var(--glow) 40%, transparent);
  background: color-mix(in srgb, var(--glow) 6%, transparent);
}
.fb-date { color: var(--dim); font-size: 12px; }
.fb-cats { font-size: 13px; }
.fb-email { color: var(--glow-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fb-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* clicking a row expands the ellipsized feedback to full text */
.fb-row.is-open .fb-text { white-space: normal; overflow: visible; word-break: break-word; }
.fb-row.is-open .fb-email { white-space: normal; overflow: visible; word-break: break-word; }

/* ---- admin recordings / progressions management --------------------- */
.adm-nav { display: flex; gap: 18px; margin-top: 14px; font-size: 13px; }
.adm-nav a { color: var(--dim); }
.adm-nav a:hover { color: var(--text); }
.adm-nav a.is-current { color: var(--glow-2); }

.adm-head, .adm-row {
  display: grid; grid-template-columns: 170px 1fr 96px 64px 76px; gap: 12px; align-items: center;
  padding: 12px 16px;
}
.adm-head {
  color: var(--dim); font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase;
  border-bottom: 1px solid var(--line);
}
.adm-row {
  border: 1px solid var(--line); border-radius: 12px; margin-top: 10px; font-size: 13px;
}
.adm-date, .adm-dur { color: var(--dim); font-size: 12px; }
.adm-name {
  font-family: inherit; font-size: 13px; color: var(--text); width: 100%;
  background: transparent; border: 1px solid transparent; border-radius: 6px; padding: 4px 6px;
  transition: border-color .15s ease, background .15s ease;
}
.adm-name:hover { border-color: var(--line); }
.adm-name:focus { outline: none; border-color: var(--glow-2); background: color-mix(in srgb, var(--glow) 6%, transparent); }
.adm-open { color: var(--glow-2); font-size: 12px; text-align: center; }
.adm-open:hover { text-decoration: underline; }
.adm-del {
  font-family: inherit; font-size: 12px; cursor: pointer; color: #ff7a8a;
  background: transparent; border: 1px solid var(--line); border-radius: 8px; padding: 5px 8px;
  transition: border-color .15s ease, color .15s ease;
}
.adm-del:hover { border-color: #ff7a8a; color: #ff9aa6; }
