/* [project]/apps/web/src/app/styles.css [app-client] (css) */
html, body {
  min-height: 100%;
  margin: 0;
  font-family: system-ui, sans-serif;
}

main {
  padding: 2rem;
}

a {
  color: #1d4ed8;
  text-decoration: none;
}

button {
  color: #fff;
  font: inherit;
  background: #0f172a;
  border: 1px solid #0f172a;
  padding: .55rem .85rem;
}

table {
  border-collapse: collapse;
  background: #fff;
  width: 100%;
}

th, td {
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid #d7dde5;
  padding: .75rem;
}

td span {
  color: #64748b;
  overflow-wrap: anywhere;
  margin-top: .25rem;
  font-size: .875rem;
  display: block;
}

.admin-shell {
  max-width: 1180px;
  margin: 0 auto;
}

.reader-shell {
  max-width: 1120px;
  margin: 0 auto;
}

.reader-header {
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 1.5rem;
  display: flex;
}

.reader-header h1 {
  margin: .25rem 0;
}

.reader-header p {
  color: #64748b;
  margin: 0;
}

.reader-header-links {
  gap: .75rem;
  display: flex;
}

.reader-search-form {
  grid-template-columns: minmax(0, 1fr) minmax(10rem, 14rem) auto;
  align-items: end;
  gap: .75rem;
  margin-bottom: 1.5rem;
  display: grid;
}

.reader-search-form label {
  flex-direction: column;
  gap: .35rem;
  display: flex;
}

.reader-search-form label:first-child:last-of-type {
  grid-column: 1 / span 2;
}

.reader-search-form span {
  color: #334155;
  font-size: .9rem;
}

.reader-search-form input, .reader-search-form select {
  font: inherit;
  border: 1px solid #94a3b8;
  min-width: 0;
  padding: .55rem;
}

.login-shell {
  max-width: 520px;
}

.login-form {
  gap: .9rem;
  display: grid;
}

.login-form label {
  flex-direction: column;
  gap: .35rem;
  display: flex;
}

.login-form input {
  font: inherit;
  border: 1px solid #94a3b8;
  min-width: 0;
  padding: .55rem;
}

.login-form button {
  justify-self: start;
}

.form-error {
  color: #b91c1c;
  margin: 0;
}

.board-nav {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .75rem;
  margin-bottom: 2rem;
  display: grid;
}

.board-link {
  border: 1px solid #d7dde5;
  flex-direction: column;
  gap: .35rem;
  min-height: 7rem;
  padding: .85rem;
  display: flex;
}

.board-link span, .reader-card div, .reader-card time, .empty-state {
  color: #64748b;
  font-size: .875rem;
}

.reader-list {
  gap: .85rem;
  display: grid;
}

.reader-card {
  border: 1px solid #d7dde5;
  padding: 1rem;
}

.reader-card div {
  flex-wrap: wrap;
  gap: .75rem;
  display: flex;
}

.provenance-badge {
  color: #92400e;
  white-space: nowrap;
  border: 1px solid #f59e0b;
  padding: .1rem .35rem;
  font-size: .75rem;
  font-weight: 650;
  line-height: 1.2;
}

.reader-card h3 {
  margin: .5rem 0;
}

.reader-card p {
  color: #334155;
  overflow-wrap: anywhere;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  max-height: 6em;
  margin: 0 0 .75rem;
  line-height: 1.5;
  display: -webkit-box;
  overflow: hidden;
}

.load-more-link {
  border: 1px solid #0f172a;
  margin-top: 1rem;
  padding: .55rem .85rem;
  display: inline-block;
}

.personal-actions {
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .75rem;
  display: flex;
}

.personal-actions button[aria-pressed="true"] {
  background: #1d4ed8;
  border-color: #1d4ed8;
}

.personal-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  display: grid;
}

.personal-section h2 {
  margin-top: 0;
}

.language-switch {
  gap: .5rem;
  margin-bottom: 1.5rem;
  display: flex;
}

.language-switch a {
  border: 1px solid #d7dde5;
  padding: .45rem .7rem;
}

.language-switch a[aria-current="page"] {
  color: #fff;
  background: #0f172a;
  border-color: #0f172a;
}

.reader-detail {
  max-width: 780px;
}

.reader-feedback, .reader-related {
  border-top: 1px solid #d7dde5;
  max-width: 780px;
  margin-top: 2rem;
  padding-top: 1.5rem;
}

.reader-related h2 {
  margin-top: 0;
}

.reader-feedback form {
  gap: .85rem;
  display: grid;
}

.reader-feedback label {
  flex-direction: column;
  gap: .35rem;
  display: flex;
}

.reader-feedback span {
  color: #334155;
  font-size: .9rem;
}

.reader-feedback select, .reader-feedback textarea {
  font: inherit;
  border: 1px solid #94a3b8;
  min-width: 0;
  padding: .55rem;
}

.reader-feedback button {
  justify-self: start;
}

.reader-detail section {
  border-top: 1px solid #d7dde5;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
}

.reader-detail h2 {
  margin: 0 0 .5rem;
  font-size: 1rem;
}

.reader-detail p {
  color: #334155;
  line-height: 1.65;
}

.reader-lede {
  font-size: 1.1rem;
}

.reader-body {
  white-space: pre-wrap;
}

.source-link, .topic-list {
  margin-top: 1.5rem;
}

.topic-list {
  flex-wrap: wrap;
  gap: .5rem;
  display: flex;
}

.topic-list span {
  color: #334155;
  border: 1px solid #d7dde5;
  padding: .35rem .55rem;
}

.admin-header {
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 1.5rem;
  display: flex;
}

.admin-header h1 {
  margin: .25rem 0;
}

.admin-header p {
  color: #64748b;
  overflow-wrap: anywhere;
  margin: 0;
}

.admin-header-links, .admin-context-links {
  flex-wrap: wrap;
  gap: .75rem;
  display: flex;
}

.admin-session-form {
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  display: flex;
}

.admin-session-form span {
  color: #64748b;
  overflow-wrap: anywhere;
}

.admin-context-links {
  flex-direction: column;
  gap: .35rem;
}

.admin-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  display: grid;
}

.admin-grid h2 {
  margin-top: 0;
}

dl {
  grid-template-columns: 10rem minmax(0, 1fr);
  gap: .65rem 1rem;
  display: grid;
}

dt {
  color: #64748b;
}

dd {
  overflow-wrap: anywhere;
  margin: 0;
}

.admin-actions {
  gap: .75rem;
  margin-top: 2rem;
  display: flex;
}

.admin-policy-section {
  border-top: 1px solid #d7dde5;
  margin-top: 2rem;
  padding-top: 2rem;
}

.admin-policy-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  max-width: 760px;
  display: grid;
}

.admin-policy-form label {
  flex-direction: column;
  gap: .35rem;
  display: flex;
}

.admin-policy-form span {
  color: #334155;
  font-size: .9rem;
}

.admin-policy-form input, .admin-policy-form select {
  font: inherit;
  border: 1px solid #94a3b8;
  min-width: 0;
  padding: .5rem;
}

.admin-policy-form button {
  justify-self: start;
}

.admin-checkbox-field {
  flex-direction: row;
  grid-column: 1 / -1;
  align-items: center;
}

.admin-checkbox-field input {
  width: auto;
}

.admin-feedback-review-form {
  gap: .5rem;
  min-width: 12rem;
  display: grid;
}

.admin-feedback-review-form label {
  flex-direction: column;
  gap: .3rem;
  display: flex;
}

.admin-feedback-review-form select, .admin-feedback-review-form textarea {
  font: inherit;
  border: 1px solid #94a3b8;
  min-width: 0;
  padding: .45rem;
}

.admin-feedback-review-form button {
  justify-self: start;
}

@media (max-width: 760px) {
  .admin-header, .admin-actions, .admin-header-links, .admin-session-form, .reader-header, .reader-header-links {
    flex-direction: column;
    align-items: flex-start;
  }

  .admin-grid, .board-nav, .admin-policy-form, .personal-grid, .reader-search-form {
    grid-template-columns: 1fr;
  }

  .reader-search-form label:first-child:last-of-type {
    grid-column: auto;
  }

  dl {
    grid-template-columns: 1fr;
  }
}

/*# sourceMappingURL=apps_web_src_app_styles_0~mzdbm.css.map*/