/* Central category administration, picker and public archives. */
.cg-admin,.cg-picker,.cg-public-filter,.cg-links,.cg-archive {
    --cg-border:#dce7df;
    --cg-green:#17633f;
    overflow-wrap:anywhere}
.cg-admin .page-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px}
.cg-admin .cg-button {
    display:inline-flex;
    justify-content:center;
    padding:12px 20px;
    border:0;
    border-radius:9px;
    background:var(--cg-green);
    color:#fff;
    font:inherit;
    font-weight:600;
    text-decoration:none;
    cursor:pointer}
.cg-admin .cg-filters,.cg-public-filter {
    display:flex;
    align-items:end;
    flex-wrap:wrap;
    gap:16px;
    padding:20px;
    border:1px solid var(--cg-border);
    border-radius:12px;
    background:#f7faf8;
    margin:24px 0}
.cg-admin label,.cg-public-filter label {
    display:block;
    font-weight:600}
.cg-admin input:not([type=checkbox]):not([type=hidden]),.cg-admin select,.cg-admin textarea,.cg-public-filter select {
    display:block;
    width:100%;
    box-sizing:border-box;
    padding:12px;
    margin-top:8px;
    border:1px solid #b9c9bf;
    border-radius:8px;
    background:#fff;
    color:#18382b;
    font:inherit}
.cg-admin .cg-filters label,.cg-public-filter label {
    flex:1;
    min-width:180px}
.cg-admin .table-wrap {
    overflow-x:auto;
    margin:24px 0;
    border:1px solid var(--cg-border);
    border-radius:12px;
    background:#fff}
.cg-admin table {
    width:100%;
    min-width:700px;
    border-collapse:collapse}
.cg-admin th,.cg-admin td {
    padding:16px;
    border-bottom:1px solid var(--cg-border);
    text-align:left}
.cg-admin th {
    background:#f3f7f4}
.cg-admin .cg-form {
    padding:24px;
    max-width:1000px;
    background:#fff;
    border:1px solid var(--cg-border);
    border-radius:14px}
.cg-admin .cg-form>label {
    margin:18px 0}
.cg-admin .cg-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px}
.cg-admin .cg-actions {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:16px;
    margin:16px 0}
.cg-muted {
    color:#64756a;
    font-size:14px;
    line-height:1.65}
.cg-picker {
    border:1px solid #dce7df;
    border-radius:12px;
    padding:20px;
    margin:20px 0;
    min-width:0}
.cg-picker legend {
    font-weight:700;
    padding:0 6px}
.cg-picker-options {
    max-height:280px;
    overflow-y:auto;
    margin:12px 0}
.cg-picker label,.cg-check {
    display:flex!important;
    gap:10px;
    align-items:flex-start;
    padding:8px 0;
    font-weight:400!important}
.cg-picker input[type=checkbox],.cg-check input {
    width:18px;
    height:18px;
    flex-shrink:0;
    accent-color:#17633f;
    margin:2px 0!important}
.cg-links {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:18px 0}
.cg-links a {
    padding:7px 12px;
    border:1px solid var(--cg-border);
    border-radius:20px;
    color:var(--cg-green);
    background:#f4f9f5;
    font-size:13px;
    text-decoration:none}
.cg-pagination a {
    padding:10px 16px;
    border:1px solid #dce7df;
    border-radius:8px;
    text-decoration:none}
.cg-pagination a[aria-current] {
    background:#17633f;
    color:#fff}
.cg-admin .alert {
    padding:16px;
    background:#fff1f0;
    color:#8a2820;
    border-radius:10px}
.cg-archive :focus-visible,.cg-admin :focus-visible,.cg-picker :focus-visible {
    outline:3px solid #8dcba3;
    outline-offset:3px}
@media(max-width:700px) {
    .cg-admin .page-heading {
    flex-direction:column;
    align-items:flex-start}
.cg-admin .cg-grid,.cg-admin .cg-form {
    padding:16px}
}


.cg-description {
    max-width:70ch;
    white-space:pre-line;
    line-height:1.8;
    color:#596960}
.cg-cover {
    display:block;
    width:100%;
    max-height:360px;
    object-fit:cover;
    border-radius:18px;
    margin:24px 0}
.cg-card-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px}
.cg-card {
    min-width:0;
    border:1px solid #dde6df;
    border-radius:16px;
    background:#fff;
    overflow:hidden}
.cg-card>div {
    padding:22px}
.cg-card img {
    display:block;
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover}
.cg-card h2 {
    font-size:1.3rem;
    line-height:1.4}
.cg-card a {
    color:#17633f}
.cg-card p {
    color:#596960;
    line-height:1.7;
    overflow-wrap:anywhere}
.cg-pagination {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:16px;
    align-items:center;
    margin:32px 0}
.cg-more {
    font-weight:650}
@media(max-width:900px) {
    .cg-card-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px) {
    .cg-card-grid {
    grid-template-columns:1fr}
.cg-pagination {
    gap:12px;
    flex-wrap:wrap}
}

