.aanlevering-kaart {
    margin: 18px 0;
    border: 1px solid #c8d8cf;
    border-left: 4px solid #137247;
    border-radius: 4px;
    background: #fff;
}

.aanlevering-kaart > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    border-bottom: 1px solid #d7e2dc;
    background: #f4faf6;
}

.aanlevering-kaart h3,
.aanlevering-kaart h4,
.aanlevering-kaart p { margin: 0; }
.aanlevering-kaart h3 { margin-top: 3px; font-size: 17px; }
.aanlevering-kaart header p { margin-top: 5px; color: #4f5b54; line-height: 1.4; }
.aanlevering-eyebrow { color: #0f5f3b; font-size: 11px; font-weight: 700; }

.aanlevering-processtatus,
.aanlevering-status {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 2px 7px;
    border: 1px solid #8cbfa3;
    border-radius: 3px;
    color: #0f5f3b;
    background: #e9f5ee;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.aanlevering-kopacties { display: flex; align-items: center; gap: 4px; }
.aanlevering-kopacties .icoon-knop { min-width: 36px; min-height: 36px; color: #126b42; }

.aanlevering-status.verlopen,
.aanlevering-status.ingetrokken { border-color: #c8c6c4; color: #605e5c; background: #f3f2f1; }
.aanlevering-status.open { border-color: #d6a84b; color: #704a00; background: #fff8e8; }

.aanlevering-openstellen {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid #e2e2e2;
    background: #fff8e8;
}

.aanlevering-openstellen p { margin-top: 3px; color: #605e5c; }
.aanlevering-leden { padding: 14px 16px 16px; }
.aanlevering-leden h4 { margin-bottom: 9px; font-size: 14px; }
.aanlevering-leden h4:not(:first-child) { margin-top: 18px; }

.aanlevering-uitnodigen {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
    align-items: end;
}

.aanlevering-uitnodigen label,
.aanlevering-reden { display: grid; gap: 5px; font-weight: 600; }
.aanlevering-uitnodigen select,
.aanlevering-reden textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 40px;
    padding: 7px 9px;
    border: 1px solid #8a8886;
    border-radius: 2px;
    color: #242424;
    background: #fff;
    font: inherit;
}

.aanlevering-uitnodigen select:focus,
.aanlevering-reden textarea:focus { outline: 2px solid #137247; outline-offset: 1px; }
.aanlevering-uitnodigingen { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }

.aanlevering-uitnodiging {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(130px, .8fr) auto;
    gap: 12px;
    align-items: center;
    min-height: 52px;
    padding: 8px 0;
    border-top: 1px solid #e1e1e1;
}

.aanlevering-uitnodiging > div { display: grid; gap: 3px; min-width: 0; }
.aanlevering-uitnodigingacties { justify-items: end; max-width: 280px; }
.aanlevering-uitnodigingacties small { white-space: normal; text-align: right; }
.aanlevering-uitnodiging strong,
.aanlevering-uitnodiging small { overflow: hidden; text-overflow: ellipsis; }
.aanlevering-uitnodiging small,
.aanlevering-hulp { color: #605e5c; line-height: 1.35; }
.aanlevering-lege-lijst { padding: 10px 12px; border-left: 3px solid #b17800; background: #fff8e8; }

.aanlevering-laden { margin: 16px 0; padding: 12px; border-left: 3px solid #137247; background: #f4faf6; }
.aanlevering-laden.fout { border-left-color: #a4262c; background: #fde7e9; }
.aanlevering-dialoog { display: grid; gap: 16px; width: min(520px, calc(100vw - 40px)); padding: 22px; }
.aanlevering-dialoog header h2,
.aanlevering-dialoog header p,
.aanlevering-linkstatus p { margin: 0; }
.aanlevering-dialoog header p,
.aanlevering-linkstatus p { margin-top: 6px; color: #605e5c; line-height: 1.45; }
.aanlevering-linkstatus { padding: 12px; border-left: 3px solid #137247; background: #f4faf6; }
.aanlevering-reden textarea { min-height: 88px; resize: vertical; font-weight: 400; }
.aanlevering-reden small { color: #605e5c; font-weight: 400; }
.aanlevering-dialoog footer,
.aanlevering-acceptatieacties { display: flex; justify-content: flex-end; gap: 8px; }

.aanlevering-acceptatiepagina {
    display: grid;
    min-height: calc(100vh - 50px);
    place-items: center;
    padding: 24px;
    background: #f5f7f6;
}

.aanlevering-acceptatieoppervlak {
    width: min(560px, 100%);
    padding: 28px;
    border: 1px solid #d1d1d1;
    border-top: 4px solid #137247;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 8px 24px rgb(0 0 0 / 10%);
}

.aanlevering-acceptatieoppervlak h1 { margin: 6px 0 8px; font-size: 24px; }
.aanlevering-acceptatieoppervlak > p { color: #4f4f4f; line-height: 1.5; }
.aanlevering-acceptatiegegevens { margin: 20px 0; border-block: 1px solid #e1e1e1; }
.aanlevering-acceptatiegegevens div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 12px; padding: 10px 0; }
.aanlevering-acceptatiegegevens div + div { border-top: 1px solid #ededed; }
.aanlevering-acceptatiegegevens dt { color: #605e5c; }
.aanlevering-acceptatiegegevens dd { margin: 0; overflow-wrap: anywhere; font-weight: 600; }

@media (max-width: 700px) {
    .aanlevering-kaart > header,
    .aanlevering-openstellen { display: grid; }
    .aanlevering-processtatus { justify-self: start; }
    .aanlevering-uitnodigen { grid-template-columns: 1fr; }
    .aanlevering-uitnodiging { grid-template-columns: 1fr auto; gap: 7px; }
    .aanlevering-uitnodiging > div:first-child { grid-column: 1 / -1; }
    .aanlevering-uitnodigingacties { grid-column: 1 / -1; justify-items: stretch; max-width: none; }
    .aanlevering-uitnodigingacties small { text-align: left; }
    .aanlevering-uitnodigen select,
    .aanlevering-reden textarea,
    .aanlevering-kaart fluent-button,
    .aanlevering-dialoog fluent-button,
    .aanlevering-acceptatiepagina fluent-button { min-height: 44px; }
    .aanlevering-dialoog { width: calc(100vw - 24px); padding: 18px; }
    .aanlevering-dialoog footer,
    .aanlevering-acceptatieacties { display: grid; grid-template-columns: 1fr; }
    .aanlevering-acceptatiepagina { min-height: calc(100vh - 48px); padding: 12px; }
    .aanlevering-acceptatieoppervlak { box-sizing: border-box; padding: 20px 16px; }
    .aanlevering-acceptatiegegevens div { grid-template-columns: 1fr; gap: 2px; }
}
