.publications-filter{
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(160px,.5fr) auto auto;
    gap:12px;
    align-items:end;
    margin-bottom:20px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    box-shadow:var(--shadow)
}
.publications-filter>div{
    display:flex;
    flex-direction:column;
    gap:7px
}
.publications-filter label{
    font-size:.8rem;
    font-weight:700
}
.publications-list{
    display:flex;
    flex-direction:column;
    gap:16px
}
.publication-card{
    padding:20px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:var(--shadow)
}
.publication-card header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px
}
.publication-card h2{
    margin:8px 0 0;
    color:var(--navy);
    font-size:1.08rem
}
.publication-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-top:18px
}
.publication-grid div{
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:12px;
    border-radius:10px;
    background:var(--blue-light)
}
.publication-grid span{
    color:var(--muted);
    font-size:.7rem
}
.publication-grid strong{
    color:var(--navy);
    font-size:.86rem
}
.publication-text,
.publication-observation{
    margin-top:15px;
    padding:14px;
    border-radius:10px;
    background:#f8fafc;
    line-height:1.6
}
.publication-observation{
    background:#fff7e7
}
.publication-card footer{
    display:flex;
    justify-content:space-between;
    gap:15px;
    margin-top:16px;
    padding-top:12px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:.72rem
}
@media(max-width:1000px){
    .publication-grid{
        grid-template-columns:repeat(2,1fr)
    }
}
@media(max-width:700px){
    .publications-filter,
    .publication-grid{
        grid-template-columns:1fr
    }
    .publication-card footer{
        flex-direction:column
    }
}
