/* Gedeelde agenda — intern-only reserveringen. Gebruikt theme-tokens
   waar beschikbaar (--zm-blue, --zm-cream, --zm-border, --zm-text-light,
   --zm-navy) met veilige fallbacks. */

.zm-sagenda-form-wrap {
    background: var(--zm-cream, #FBF8F1);
    border: 1px solid var(--zm-border, #E6D9B2);
    border-radius: 12px;
    padding: 0.85rem 1.1rem;
    margin-bottom: 1.5rem;
}
.zm-sagenda-form-wrap > summary {
    cursor: pointer;
    font-family: var(--zm-heading, inherit);
    color: var(--zm-navy, #004464);
    font-size: 1.05rem;
    list-style: none;
}
.zm-sagenda-form-wrap > summary::-webkit-details-marker { display: none; }
.zm-sagenda-form-wrap[open] > summary { margin-bottom: 0.75rem; }

.zm-sagenda-form {
    display: grid;
    gap: 0.75rem;
}
.zm-sagenda-form label {
    display: grid;
    gap: 0.25rem;
    font-size: 0.85rem;
    color: var(--zm-text-light, #556);
}
.zm-sagenda-form input[type="text"],
.zm-sagenda-form input[type="datetime-local"],
.zm-sagenda-form select,
.zm-sagenda-form textarea {
    padding: 0.5rem 0.65rem;
    border: 1px solid var(--zm-border, #E6D9B2);
    border-radius: 8px;
    background: #fff;
    font-family: inherit;
    font-size: 1rem;
}
.zm-sagenda-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}
@media (max-width: 520px) {
    .zm-sagenda-form__row { grid-template-columns: 1fr; }
}
.zm-sagenda-form button {
    justify-self: start;
}

.zm-sagenda-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.zm-sagenda-day {
    margin-bottom: 1.5rem;
}
.zm-sagenda-day__head {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
    padding-bottom: 0.25rem;
    border-bottom: 2px solid var(--zm-blue, #0077AC);
}
.zm-sagenda-day__name {
    font-family: var(--zm-heading, inherit);
    color: var(--zm-navy, #004464);
}
.zm-sagenda-day__date {
    color: var(--zm-text-light, #556);
    font-size: 0.9em;
}

.zm-sagenda-day__items {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.5rem;
}

.zm-sagenda-item {
    display: grid;
    grid-template-columns: 90px 1fr auto;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    background: #fff;
    border: 1px solid var(--zm-border, #E6D9B2);
    border-left: 4px solid var(--zm-blue, #0077AC);
    border-radius: 8px;
    align-items: start;
}
.zm-sagenda-item__time {
    font-family: var(--zm-heading, inherit);
    color: var(--zm-navy, #004464);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.zm-sagenda-item__title {
    display: block;
    color: var(--zm-navy, #004464);
    font-size: 1rem;
    margin-bottom: 0.15rem;
}
.zm-sagenda-item__meta {
    font-size: 0.82rem;
    color: var(--zm-text-light, #556);
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.zm-sagenda-item__meta > span::after {
    content: "·";
    margin-left: 0.5rem;
    opacity: 0.5;
}
.zm-sagenda-item__meta > span:last-child::after { content: ""; margin: 0; }
.zm-sagenda-item__notes {
    margin: 0.35rem 0 0;
    font-size: 0.88rem;
    color: var(--zm-text, #333);
}
.zm-sagenda-item__delete {
    background: transparent;
    border: 1px solid var(--zm-border, #E6D9B2);
    color: var(--zm-text-light, #556);
    border-radius: 50%;
    width: 28px;
    height: 28px;
    cursor: pointer;
    font-size: 1.1rem;
    line-height: 1;
    padding: 0;
}
.zm-sagenda-item__delete:hover {
    background: #FEE;
    color: #B00;
    border-color: #FCC;
}

.zm-sagenda-empty {
    color: var(--zm-text-light, #556);
    font-style: italic;
}

@media (max-width: 520px) {
    .zm-sagenda-item {
        grid-template-columns: 1fr auto;
    }
    .zm-sagenda-item__time {
        grid-column: 1 / 3;
        font-size: 0.9rem;
    }
    .zm-sagenda-item__body { grid-column: 1; grid-row: 2; }
    .zm-sagenda-item__actions { grid-column: 2; grid-row: 2; }
}
