.com-bip {
  --bip-ink: #1f2430;
  --bip-muted: #5a6172;
  --bip-accent: #b3122e;
  --bip-accent-dark: #8a0e24;
  --bip-plum: #3d2a4f;
  --bip-line: #d9dbe3;
  --bip-soft: #f6f4f1;
  --bip-focus: #ffbf47;
  color: var(--bip-ink);
  line-height: 1.6;
  font-size: 1rem;
}

.com-bip a { color: var(--bip-plum); text-underline-offset: .18em; }
.com-bip a:hover { color: var(--bip-accent); }
.com-bip a:focus-visible,
.com-bip button:focus-visible,
.com-bip input:focus-visible { outline: 3px solid var(--bip-focus); outline-offset: 2px; }

.com-bip .visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.bip-bar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-areas: "logo entity search" "nav nav nav";
  gap: .75rem 1.25rem;
  align-items: center;
  padding: 1rem 1.25rem;
  margin-bottom: 1.75rem;
  background: var(--bip-soft);
  border-top: 4px solid var(--bip-accent);
  border-radius: 0 0 6px 6px;
}
.bip-bar__logo { grid-area: logo; line-height: 0; }
.bip-bar__logo img { height: 56px; width: auto; }
.bip-bar__entity { grid-area: entity; display: flex; flex-direction: column; }
.bip-bar__label { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--bip-muted); }
.bip-bar__name { font-weight: 700; font-size: 1.05rem; color: var(--bip-plum); }
.bip-bar__nav { grid-area: nav; border-top: 1px solid var(--bip-line); padding-top: .6rem; }
.bip-bar__nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; }
.bip-bar__nav a { text-decoration: none; font-weight: 600; font-size: .95rem; padding: .2rem 0; border-bottom: 2px solid transparent; }
.bip-bar__nav a[aria-current="page"], .bip-bar__nav a:hover { border-bottom-color: var(--bip-accent); }
.bip-bar__search { grid-area: search; display: flex; }
.bip-bar__search input, .bip-search__row input {
  border: 1px solid #9aa0ad; border-right: 0; border-radius: 4px 0 0 4px; padding: .45rem .7rem; min-width: 14rem; font: inherit;
}
.bip-bar__search button, .bip-search__row button {
  border: 0; border-radius: 0 4px 4px 0; padding: .45rem 1rem; background: var(--bip-plum); color: #fff; font: inherit; font-weight: 600; cursor: pointer;
}
.bip-bar__search button:hover, .bip-search__row button:hover { background: var(--bip-accent-dark); }

.bip-title { font-size: 1.75rem; line-height: 1.25; margin: 0 0 1.25rem; color: var(--bip-plum); }

.bip-home__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 1.5rem; }
.bip-panel { border: 1px solid var(--bip-line); border-radius: 6px; padding: 1.25rem 1.5rem; background: #fff; }
.bip-panel h2 { font-size: 1.15rem; margin: 0 0 .75rem; padding-bottom: .5rem; border-bottom: 2px solid var(--bip-accent); display: inline-block; }

.bip-tree { list-style: none; margin: 0; padding: 0; }
.bip-tree li { padding: .25rem 0; }
.bip-tree--l1 > li { border-bottom: 1px dashed var(--bip-line); padding: .45rem 0; }
.bip-tree--l1 > li > a { font-weight: 700; }
.bip-tree--l2, .bip-tree--l3, .bip-tree--l4 { padding-left: 1.1rem; margin-top: .25rem; border-left: 2px solid var(--bip-line); }
.bip-count { display: inline-block; min-width: 1.6em; padding: 0 .4em; margin-left: .25rem; border-radius: 1em; background: var(--bip-soft); color: var(--bip-muted); font-size: .8rem; text-align: center; }

.bip-latest { list-style: none; margin: 0; padding: 0; }
.bip-latest li { padding: .6rem 0; border-bottom: 1px solid var(--bip-line); }
.bip-latest li:last-child { border-bottom: 0; }
.bip-latest a { font-weight: 600; display: block; }
.bip-meta { display: block; color: var(--bip-muted); font-size: .88rem; }

.bip-subcats { margin-bottom: 1.5rem; }
.bip-subcats h2 { font-size: 1rem; text-transform: uppercase; letter-spacing: .05em; color: var(--bip-muted); }
.bip-subcats ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(16rem, 100%), 1fr)); gap: .5rem; }
.bip-subcats li { background: var(--bip-soft); border-left: 4px solid var(--bip-plum); padding: .6rem .8rem; }
.bip-subcats a { font-weight: 600; }

.bip-list { list-style: none; padding: 0; margin: 0; }
.bip-list__item { padding: 1rem 0; border-bottom: 1px solid var(--bip-line); }
.bip-list__item.is-archived { opacity: .85; }
.bip-list__title { font-size: 1.1rem; margin: 0 0 .25rem; line-height: 1.35; }
.bip-badge { display: inline-block; padding: 0 .5em; border-radius: 3px; background: #ece7f1; color: var(--bip-plum); font-size: .8rem; font-weight: 600; }
.bip-empty { padding: 1rem 1.25rem; background: var(--bip-soft); border-radius: 6px; }

.bip-article__cat { margin: 0 0 .3rem; font-size: .9rem; text-transform: uppercase; letter-spacing: .05em; }
.bip-article__body { margin-bottom: 2rem; overflow-wrap: anywhere; }
.bip-article__body table { border-collapse: collapse; max-width: 100%; }
.bip-article__body td, .bip-article__body th { border: 1px solid var(--bip-line); padding: .35rem .55rem; }
.bip-notice { padding: .75rem 1rem; border-left: 4px solid var(--bip-focus); background: #fff8e6; }

.bip-attachments { margin: 0 0 2rem; }
.bip-attachments h2, .bip-metryczka h2, .bip-versions h2 { font-size: 1.15rem; margin: 0 0 .75rem; }
.bip-attachments ul { list-style: none; margin: 0; padding: 0; }
.bip-attachments li { padding: .65rem 0; border-bottom: 1px solid var(--bip-line); }
.bip-attachments a { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .55rem; text-decoration: none; }
.bip-attachments a:hover .bip-file-name { text-decoration: underline; }
.bip-file-type { flex: none; min-width: 3.1em; padding: .1em .35em; border-radius: 3px; background: var(--bip-accent); color: #fff; font-size: .72rem; font-weight: 700; text-align: center; letter-spacing: .04em; }
.bip-file-name { font-weight: 600; }
.bip-file-meta { color: var(--bip-muted); font-size: .88rem; }
.bip-attachments .bip-meta { margin-left: 3.65em; }

.bip-metryczka { padding: 1.25rem 1.5rem; background: var(--bip-soft); border-radius: 6px; margin-bottom: 1.5rem; }
.bip-metryczka dl { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr)); gap: .5rem 2rem; }
.bip-metryczka dl > div { display: flex; flex-direction: column; }
.bip-metryczka dt { font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; color: var(--bip-muted); }
.bip-metryczka dd { margin: 0; font-weight: 600; }
.bip-actions { margin: 1rem 0 0; display: flex; gap: 1.5rem; flex-wrap: wrap; }

.bip-table-wrap { overflow-x: auto; }
.bip-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.bip-table th, .bip-table td { text-align: left; vertical-align: top; padding: .55rem .65rem; border-bottom: 1px solid var(--bip-line); }
.bip-table thead th { background: var(--bip-plum); color: #fff; font-weight: 600; }
.bip-table tbody th { font-weight: 600; }

.bip-versions ul { list-style: none; padding: 0; margin: 0; }
.bip-versions li { padding: .35rem 0; }

.bip-search__form label { display: block; font-weight: 600; margin-bottom: .35rem; }
.bip-search__row { display: flex; margin-bottom: 1.5rem; }
.bip-search__row input { flex: 1; }

.bip-pagination { margin-top: 1.5rem; }

.bip-contact { display: grid; grid-template-columns: max-content 1fr; gap: .25rem 1rem; }
.bip-contact dt { color: var(--bip-muted); }
.bip-contact dd { margin: 0; }

@media (max-width: 900px) {
  .bip-home__grid { grid-template-columns: 1fr; }
  .bip-bar { grid-template-columns: auto 1fr; grid-template-areas: "logo entity" "search search" "nav nav"; }
  .bip-bar__search input { min-width: 0; flex: 1; }
}

@media print {
  .bip-bar, .bip-actions, .bip-pagination, .bip-versions { display: none !important; }
  .com-bip { font-size: 11pt; color: #000; }
  .com-bip a { color: #000; text-decoration: none; }
  .bip-metryczka { background: none; border: 1px solid #000; }
  .bip-file-type { background: none; color: #000; border: 1px solid #000; }
}

.mod-bip-menu__list { list-style: none; margin: 0; padding: 0; }
.mod-bip-menu__list li { padding: .3rem 0; }
.mod-bip-menu__list--l1 > li { border-bottom: 1px solid var(--bip-line); padding: .5rem 0; }
.mod-bip-menu__list--l1 > li > a { font-weight: 700; }
.mod-bip-menu__list--l2, .mod-bip-menu__list--l3, .mod-bip-menu__list--l4 { padding-left: .9rem; margin-top: .3rem; border-left: 2px solid var(--bip-line); font-size: .95rem; }
.mod-bip-menu li.is-active > a { color: var(--bip-accent); text-decoration: underline; }
.mod-bip-menu__links { display: flex; flex-direction: column; gap: .3rem; margin: .9rem 0 0; font-size: .92rem; }
.bip-home__grid--single { grid-template-columns: 1fr; }

.bip-btn {
  display: inline-flex; align-items: center; min-height: 2.5rem;
  padding: .4rem 1rem;
  border: 2px solid var(--bip-plum); border-radius: 4px;
  color: var(--bip-plum); background: transparent;
  text-decoration: none; font-weight: 600;
}
.bip-btn:hover { background: var(--bip-plum); color: #fff; }
.bip-entry { padding: 0 0 1.75rem; margin: 0 0 1.75rem; border-bottom: 1px solid var(--bip-line); }
.bip-entry:last-child { border-bottom: 0; }
.bip-entry__title { font-size: 1.45rem; line-height: 1.25; margin: 0 0 .6rem; font-weight: 400; }
.bip-entry__title a { text-decoration: none; }
.bip-entry__title a:hover { text-decoration: underline; }
.bip-entry__intro { margin: 0 0 .6rem; font-weight: 600; }
.bip-entry__meta { list-style: none; margin: 0 0 .9rem; padding: 0; display: flex; flex-wrap: wrap; gap: .15rem 1rem; font-size: .88rem; color: var(--bip-muted); }
.bip-entry__meta span { color: var(--bip-muted); }
.bip-entry__more { margin: 0; text-align: right; }
.bip-latest-full__more { margin: 1rem 0 0; }
