.cfdb7fs-wrap,
.cfdb7fs-message {
    --cfdb7fs-border: #d9e1e7;
    --cfdb7fs-text: #17212b;
    --cfdb7fs-muted: #66727f;
    --cfdb7fs-bg: #ffffff;
    --cfdb7fs-soft: #f6f8fa;
    --cfdb7fs-accent: #2271b1;
    color: var(--cfdb7fs-text);
    font-size: 15px;
    line-height: 1.55;
}

.cfdb7fs-wrap * { box-sizing: border-box; }
.cfdb7fs-header { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin-bottom:18px; }
.cfdb7fs-title { margin:0 0 4px; font-size:clamp(24px, 3vw, 34px); line-height:1.2; }
.cfdb7fs-count { margin:0; color:var(--cfdb7fs-muted); }

.cfdb7fs-filters {
    display:grid;
    grid-template-columns:minmax(180px, .7fr) minmax(240px, 1.3fr) auto auto;
    gap:12px;
    align-items:end;
    padding:16px;
    margin:0 0 20px;
    border:1px solid var(--cfdb7fs-border);
    border-radius:12px;
    background:var(--cfdb7fs-soft);
}
.cfdb7fs-filters label { display:flex; flex-direction:column; gap:5px; margin:0; font-weight:600; }
.cfdb7fs-filters input,
.cfdb7fs-filters select {
    width:100%; min-height:42px; padding:8px 10px; border:1px solid #aeb8c2; border-radius:7px; background:#fff; color:inherit;
}
.cfdb7fs-filters button,
.cfdb7fs-button {
    display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 17px; border:0; border-radius:7px;
    background:var(--cfdb7fs-accent); color:#fff !important; font-weight:700; text-decoration:none; cursor:pointer;
}
.cfdb7fs-reset { min-height:42px; display:inline-flex; align-items:center; }

.cfdb7fs-list { display:grid; gap:16px; }
.cfdb7fs-entry { border:1px solid var(--cfdb7fs-border); border-radius:14px; background:var(--cfdb7fs-bg); overflow:hidden; box-shadow:0 4px 18px rgba(20, 35, 50, .05); }
.cfdb7fs-entry-top { display:flex; justify-content:space-between; gap:14px; padding:18px 20px 10px; }
.cfdb7fs-entry h3 { margin:0 0 5px; font-size:20px; line-height:1.3; }
.cfdb7fs-meta { display:flex; flex-wrap:wrap; gap:8px; color:var(--cfdb7fs-muted); font-size:13px; }

.cfdb7fs-summary { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1px; margin:8px 20px 18px; background:var(--cfdb7fs-border); border:1px solid var(--cfdb7fs-border); border-radius:10px; overflow:hidden; }
.cfdb7fs-summary > div { padding:11px 13px; background:#fff; min-width:0; }
.cfdb7fs-summary dt,
.cfdb7fs-details dt { margin:0 0 3px; color:var(--cfdb7fs-muted); font-size:12px; font-weight:700; letter-spacing:.02em; text-transform:uppercase; }
.cfdb7fs-summary dd,
.cfdb7fs-details dd { margin:0; overflow-wrap:anywhere; }

.cfdb7fs-details { border-top:1px solid var(--cfdb7fs-border); }
.cfdb7fs-details summary { padding:14px 20px; color:var(--cfdb7fs-accent); font-weight:700; cursor:pointer; background:var(--cfdb7fs-soft); }
.cfdb7fs-details[open] summary { border-bottom:1px solid var(--cfdb7fs-border); }
.cfdb7fs-details > dl { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0; margin:0; }
.cfdb7fs-details > dl > div { padding:14px 20px; border-bottom:1px solid #edf0f2; min-width:0; }
.cfdb7fs-details > dl > div:nth-child(odd) { border-right:1px solid #edf0f2; }
.cfdb7fs-details a { overflow-wrap:anywhere; }
.cfdb7fs-muted { color:var(--cfdb7fs-muted); font-style:italic; }

.cfdb7fs-empty,
.cfdb7fs-message { padding:22px; border:1px solid var(--cfdb7fs-border); border-radius:12px; background:var(--cfdb7fs-soft); }
.cfdb7fs-message p:first-child { margin-top:0; }
.cfdb7fs-message p:last-child { margin-bottom:0; }

.cfdb7fs-pagination { margin-top:22px; }
.cfdb7fs-pagination ul { display:flex; flex-wrap:wrap; gap:7px; padding:0; margin:0; list-style:none; }
.cfdb7fs-pagination a,
.cfdb7fs-pagination span { display:flex; align-items:center; justify-content:center; min-width:38px; min-height:38px; padding:6px 10px; border:1px solid var(--cfdb7fs-border); border-radius:7px; text-decoration:none; }
.cfdb7fs-pagination .current { background:var(--cfdb7fs-accent); border-color:var(--cfdb7fs-accent); color:#fff; }

@media (max-width: 760px) {
    .cfdb7fs-filters { grid-template-columns:1fr; }
    .cfdb7fs-summary,
    .cfdb7fs-details > dl { grid-template-columns:1fr; }
    .cfdb7fs-details > dl > div:nth-child(odd) { border-right:0; }
    .cfdb7fs-entry-top { padding:16px 16px 8px; }
    .cfdb7fs-summary { margin:8px 16px 16px; }
    .cfdb7fs-details summary,
    .cfdb7fs-details > dl > div { padding-left:16px; padding-right:16px; }
}
