:root { --st: #1f7a5a; --st-soft: #e6f5ee; --st-ink: #12372b; }
.st-hero { background: linear-gradient(135deg, #e6f5ee, #fff6e0); text-align: center; padding: 2.5rem 0; }
.st-hero h1 { color: var(--st-ink); margin: .25rem 0; }
.st-emoji { font-size: 3.5rem; margin: 0; line-height: 1; }
.st-search { display: flex; gap: .5rem; max-width: 36rem; margin: 1rem auto; }
.st-search input[type=search] { flex: 1; min-width: 0; font-size: 1.1rem; padding: .7rem 1rem; border: 2px solid var(--st); border-radius: 999px; }
.st-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); gap: 1rem; text-align: center; padding-block: 1.5rem; }
.st-stats strong { display: block; font-size: 2rem; color: var(--st); }
.st-page { padding-block: 1.5rem 3rem; }
.st-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 1rem; }
.st-card { display: block; padding: 1rem; border: 1px solid #cfe6db; border-top: 6px solid var(--st); border-radius: 1rem; background: #fff; color: inherit; text-decoration: none; }
.st-card:hover, .st-card:focus-visible { box-shadow: 0 6px 18px rgba(18,55,43,.15); }
.st-badge { display: inline-block; padding: .1rem .6rem; border-radius: 999px; background: var(--st-soft); color: var(--st-ink); font-size: .85rem; }
.st-badge--old { background: #eee; color: #555; }
.st-table-wrap { overflow-x: auto; }
.st-table { width: 100%; border-collapse: collapse; }
.st-table th, .st-table td { padding: .5rem; border-bottom: 1px solid #e3e3e3; text-align: left; vertical-align: top; }
.st-document { margin-block: 2rem; }
.st-document iframe { display: block; width: 100%; height: min(80vh, 68rem); min-height: 36rem; border: 1px solid #cfe6db; border-radius: .75rem; background: #f5f5f5; }
.st-document-sample { padding: 1rem; border-left: 4px solid var(--st); background: var(--st-soft); }
.st-document-sample p { margin-block: .5rem 1rem; }
.st-noms { list-style: none; padding: 0; columns: 18rem; column-gap: 2rem; }
.st-noms li { break-inside: avoid; padding: .2rem 0; }
.st-nom--active { column-span: all; padding: .6rem 1rem; border-left: 4px solid var(--st); background: var(--st-soft); }
.st-viewer iframe { display: block; width: 100%; height: min(80vh, 68rem); min-height: 32rem; border: 1px solid #cfe6db; border-radius: .75rem; background: #f5f5f5; }
.st-admin form.st-form { display: grid; gap: .5rem; max-width: 36rem; margin-bottom: 1.5rem; }
.st-admin input, .st-admin select, .st-admin textarea { padding: .4rem; border: 1px solid #bbb; border-radius: .4rem; }
.st-flash { background: var(--st-soft); border-left: 4px solid var(--st); padding: .6rem 1rem; margin: 1rem 0; }
.st-disclaimer { font-size: .9rem; opacity: .8; }

@media (max-width: 640px) {
  .st-document iframe { height: 70vh; min-height: 28rem; }
}
