:root { color-scheme: light; font-family: system-ui, sans-serif; color: #142d38; background: #f2f5f4; }
body { margin: 0; }
main { box-sizing: border-box; max-width: 840px; margin: 12vh auto; padding: 40px; }
.brand { font-size: 22px; font-weight: 750; color: #12674b; }
h1 { margin: 32px 0 16px; font-size: clamp(32px, 6vw, 56px); line-height: 1.1; letter-spacing: -0.035em; }
p { max-width: 560px; font-size: 18px; line-height: 1.6; color: #53666b; }
.status { display: inline-block; margin-top: 16px; border: 1px solid #bdd3c8; border-radius: 999px; padding: 8px 16px; color: #12674b; background: #e5eee8; }
a { color: #12674b; }
.catalog-page { max-width: 1320px; margin: 3vh auto; padding: 28px; }
.catalog-page h1 { font-size: clamp(28px, 4vw, 42px); margin-top: 26px; }
.catalog-intro { max-width: 900px; font-size: 16px; }
.catalog-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; padding: 20px; margin: 24px 0; background: #fff; border: 1px solid #dbe6e0; border-radius: 12px; }
.catalog-filters label { display: grid; gap: 6px; font-size: 14px; }
.catalog-filters input, .catalog-filters select, .catalog-filters button { box-sizing: border-box; min-height: 42px; padding: 9px 12px; border: 1px solid #a8bdb2; border-radius: 6px; font: inherit; }
.catalog-filters button { background: #12674b; color: white; cursor: pointer; }
.catalog-source { margin-bottom: 20px; font-size: 14px; overflow-wrap: anywhere; }
.catalog-source p { font-size: 14px; margin: 8px 0; }
.catalog-message { max-width: 100%; font-size: 16px; }
.catalog-table-wrapper { overflow-x: auto; border: 1px solid #dbe6e0; border-radius: 10px; background: #fff; }
.catalog-page table { width: 100%; border-collapse: collapse; font-size: 14px; text-align: left; }
.catalog-page th, .catalog-page td { padding: 14px; border-bottom: 1px solid #e2eae5; overflow-wrap: anywhere; vertical-align: top; }
.catalog-page th { background: #eaf2ed; font-weight: 650; }
.catalog-next { display: inline-block; padding: 16px 0; }
