/* Tagging-Regeln, eigene Felder, Freigabe-Links (P2) – eigene Datei, damit 05-pages.css schlank bleibt */

/* ---------- Regeln ---------- */
.rule-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-space-3); }
.rule { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-space-3) var(--s-space-5); align-items: start; }
.rule--off { opacity: .72; }
.rule__name { display: flex; align-items: center; gap: var(--s-space-2); font-family: var(--s-font); font-size: var(--s-text-base); font-weight: 600; margin: 0 0 var(--s-space-1); }
.rule__summary { color: var(--s-text-2); font-size: var(--s-text-sm); overflow-wrap: anywhere; }
.rule__tags { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-space-2); margin-top: var(--s-space-2); color: var(--s-text-3); }
.rule__progress { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-space-2); margin-top: var(--s-space-3); font-size: var(--s-text-sm); }
.rule__progress progress { flex: 1 1 160px; height: 6px; accent-color: var(--s-accent); }
.rule__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--s-space-2); max-width: 360px; }

.rule-form__conditions { border: 0; margin: var(--s-space-4) 0 0; padding: 0; display: grid; gap: var(--s-space-2); }
.rule-form__conditions .field { margin: 0; max-width: 260px; }
.rule-form__row { display: grid; grid-template-columns: 160px 170px minmax(0, 1fr); gap: var(--s-space-2); }
.rule-form .checkbox { margin-top: var(--s-space-4); }
.rule-form .alert { margin-top: var(--s-space-4); }

/* ---------- Eigene Felder ---------- */
.field-form { display: grid; gap: var(--s-space-3); }
.field-form__row { margin: 0; }
.field-form .btn-row { margin-top: var(--s-space-1); }

.doc-card__fields { display: flex; flex-wrap: wrap; gap: var(--s-space-1) var(--s-space-3); margin: var(--s-space-2) 0 0; font-size: var(--s-text-sm); }
.doc-card__fields > div { display: flex; gap: var(--s-space-1); min-width: 0; }
.doc-card__fields dt { color: var(--s-text-3); }
.doc-card__fields dt::after { content: ":"; }
.doc-card__fields dd { margin: 0; color: var(--s-text); font-weight: 600; overflow-wrap: anywhere; }
:root[data-view="list"] .doc-card__fields { grid-column: 1; margin-top: var(--s-space-1); }

.field-filter { margin-bottom: var(--s-space-4); }
.field-filter > summary { list-style: none; cursor: pointer; }
.field-filter > summary::-webkit-details-marker { display: none; }
.field-filter__form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--s-space-3) var(--s-space-4); margin-top: var(--s-space-3); padding: var(--s-space-4);
  border: 1px solid var(--s-border); border-radius: var(--s-radius-lg); background: var(--s-surface); }
.field-filter__field { border: 0; margin: 0; padding: 0; flex: 0 1 240px; min-width: 0; }
.field-filter__field .label { padding: 0; }
.field-filter__range { display: flex; align-items: center; gap: var(--s-space-2); }
.field-filter__range .input { min-width: 0; }
.field-filter__actions { flex-basis: 100%; }

/* ---------- Öffentliche Freigabe-Seite ---------- */
body.share-page { background: var(--s-bg); min-height: 100vh; }
.share-top { display: flex; align-items: center; justify-content: space-between; gap: var(--s-space-3); padding: var(--s-space-4) var(--s-space-5);
  border-bottom: 1px solid var(--s-border); background: var(--s-surface); }
.share-top__note { display: inline-flex; align-items: center; gap: var(--s-space-2); color: var(--s-text-3); font-size: var(--s-text-sm); }
.share-main { max-width: 980px; margin: 0 auto; padding: var(--s-space-6) var(--s-space-4) var(--s-space-7); }
.share-card { margin: 8vh auto 0; }
.share-card .auth-card__title { display: flex; align-items: center; gap: var(--s-space-2); }
.share-doc { display: grid; gap: var(--s-space-4); }
.share-doc__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--s-space-3); }
.share-doc__text { display: grid; gap: var(--s-space-1); min-width: 0; }
.share-doc__title { font-size: var(--s-text-2xl); overflow-wrap: anywhere; }
.share-doc__meta { color: var(--s-text-2); font-size: var(--s-text-sm); }
.share-doc__viewer .viewer img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.share-doc__foot { display: flex; align-items: center; gap: var(--s-space-2); font-size: var(--s-text-sm); }

@media (max-width: 767.98px) {
  .rule { grid-template-columns: 1fr; }
  .rule__actions { justify-content: flex-start; max-width: none; }
  .rule-form__row { grid-template-columns: 1fr 1fr; }
  .rule-form__row .input[type="text"] { grid-column: 1 / -1; }
  .share-top { padding: var(--s-space-3) var(--s-space-4); }
  .share-doc__title { font-size: var(--s-text-xl); }
}

/* Teilen: Auswahl Mail/Link nebeneinander, auf dem Handy untereinander */
.share-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: var(--s-space-4); }
.share-options .card { display: grid; gap: var(--s-space-2); align-content: start; justify-items: start; }

/* „Mit mir geteilt“ */
.shared-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-space-3); }
.shared-item { display: grid; gap: var(--s-space-1); }
.shared-item p { margin: 0; }
.shared-item__head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-space-2); }
.shared-item__title { font-weight: 600; color: var(--s-text); overflow-wrap: anywhere; min-height: 24px; }
.shared-item--unread { border-color: var(--s-accent-border); }
.shared-item__note { white-space: pre-line; color: var(--s-text-2); overflow-wrap: anywhere; }
