/* TimeProtect legal pages (privacy policy, terms): only Podwórko tokens, like installer-styles.css.
   Long text: narrower column, tables scroll sideways on phones instead of widening the page. */
:root { color-scheme: light dark; }
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--tp-color-bg); color: var(--tp-color-text);
  font-family: var(--tp-font-body); font-size: var(--tp-font-size-md); line-height: var(--tp-line-height-normal);
}
main, .top, .bottom { max-width: 760px; margin: 0 auto; padding: 0 var(--tp-space-4); }
.top { display: flex; justify-content: space-between; align-items: center; padding-top: var(--tp-space-4); }
.brand {
  font-family: var(--tp-font-display); font-weight: var(--tp-font-weight-extrabold);
  font-size: var(--tp-font-size-xl); color: var(--tp-color-primary); text-decoration: none;
}
a { color: var(--tp-color-primary); }
.lang-link { font-weight: var(--tp-font-weight-bold); }
h1, h2, h3 {
  font-family: var(--tp-font-display); font-weight: var(--tp-font-weight-bold);
  line-height: var(--tp-line-height-snug); color: var(--tp-color-text);
}
h1 { font-size: var(--tp-font-size-3xl); font-weight: var(--tp-font-weight-extrabold); margin: var(--tp-space-4) 0 var(--tp-space-1); }
h2 { font-size: var(--tp-font-size-xl); margin: var(--tp-space-7) 0 var(--tp-space-2); }
h3 { font-size: var(--tp-font-size-lg); margin: var(--tp-space-5) 0 var(--tp-space-1); }
.updated { color: var(--tp-color-text-muted); margin-top: 0; }
.draft {
  background: var(--tp-color-low-bg); color: var(--tp-color-low-fg);
  border-radius: var(--tp-radius-md); padding: var(--tp-space-3) var(--tp-space-4); margin: var(--tp-space-4) 0 0;
  font-weight: var(--tp-font-weight-bold);
}
.doc-nav { margin-top: var(--tp-space-4); font-size: var(--tp-font-size-sm); }
.doc-nav [aria-current] { color: var(--tp-color-text); font-weight: var(--tp-font-weight-bold); text-decoration: none; }
.summary {
  background: var(--tp-color-surface); border-radius: var(--tp-radius-lg); box-shadow: var(--tp-shadow-card);
  padding: var(--tp-space-4) var(--tp-space-5); margin: var(--tp-space-4) 0;
}
.summary h2 { margin-top: 0; }
ul, ol { padding-left: var(--tp-space-6); }
li { margin: var(--tp-space-1) 0; }
.table-wrap { overflow-x: auto; margin: var(--tp-space-3) 0; }
table { border-collapse: collapse; width: 100%; min-width: 520px; font-size: var(--tp-font-size-sm); }
th, td { text-align: left; vertical-align: top; padding: var(--tp-space-2) var(--tp-space-3); border-bottom: 1px solid var(--tp-color-border); }
th { background: var(--tp-color-surface-variant); font-weight: var(--tp-font-weight-bold); }
mark.todo {
  background: var(--tp-color-low-bg); color: var(--tp-color-low-fg);
  border-radius: var(--tp-radius-sm); padding: 0 var(--tp-space-1);
}
@media (max-width: 600px) {
  table { min-width: 0; }
  thead { display: none; }
  tr, td { display: block; }
  tr { border-bottom: 1px solid var(--tp-color-border-strong); padding: var(--tp-space-2) 0; }
  td { border: 0; padding: var(--tp-space-1) 0; }
  td::before { content: attr(data-label); display: block; color: var(--tp-color-text-muted); font-weight: var(--tp-font-weight-bold); }
}
.bottom { color: var(--tp-color-text-muted); font-size: var(--tp-font-size-sm); padding: var(--tp-space-6) var(--tp-space-4) var(--tp-space-7); }
:focus-visible { outline: var(--tp-size-focus-width) solid var(--tp-color-focus); outline-offset: var(--tp-size-focus-offset); }
