.observations-filter{
    display:grid;
    grid-template-columns:
        minmax(180px,1fr)
        minmax(160px,.7fr)
        minmax(160px,.7fr)
        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)
}
.observations-filter>div{
    display:flex;
    flex-direction:column;
    gap:7px
}
.observations-filter label{
    font-size:.8rem;
    font-weight:700
}
.observations-list{
    display:flex;
    flex-direction:column;
    gap:15px
}
.observation-card{
    padding:20px;
    border:1px solid var(--line);
    border-left:5px solid var(--blue);
    border-radius:16px;
    background:#fff;
    box-shadow:var(--shadow)
}
.observation-card.resolved{
    border-left-color:#5b9a68;
    opacity:.82
}
.observation-card header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px
}
.observation-card h2{
    margin:8px 0 0;
    color:var(--navy);
    font-size:1.08rem
}
.observation-card>p{
    margin:16px 0;
    line-height:1.65
}
.observation-badges{
    display:flex;
    flex-wrap:wrap;
    gap:6px
}
.priority-badge,
.private-badge,
.resolved-badge{
    display:inline-flex;
    padding:4px 8px;
    border-radius:999px;
    font-size:.68rem;
    font-weight:700
}
.priority-baixa{background:#eef3f7;color:#667686}
.priority-normal{background:#e7f1ff;color:#2766a8}
.priority-alta{background:#fff0d9;color:#a26000}
.priority-urgente{background:#ffe3e3;color:#a92323}
.private-badge{background:#eee9ff;color:#5d43a6}
.resolved-badge{background:#e4f4e7;color:#397445}
.observation-link,
.observation-attachments{
    margin-top:12px;
    padding:11px 13px;
    border-radius:10px;
    background:var(--blue-light);
    font-size:.8rem
}
.observation-attachments{
    display:flex;
    flex-wrap:wrap;
    gap:6px 12px
}
.observation-attachments strong{
    width:100%
}
.observation-card footer{
    margin-top:15px;
    padding-top:12px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:.72rem
}
@media(max-width:900px){
    .observations-filter{
        grid-template-columns:1fr
    }
}
