.kawa-calendar {
    border-top: 1px solid var(--border-primary);
    margin-top: var(--space-6);
    padding-top: var(--space-4);
}

.kawa-calendar-header,
.kawa-calendar-controls {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex-wrap: wrap;
}

.kawa-calendar-header {
    justify-content: space-between;
}
.kawa-calendar h3 {
    margin: 0;
    font-size: var(--font-size-base);
}
.kawa-calendar-controls input,
.kawa-calendar-controls button,
.kawa-refresh {
    min-height: 34px;
    border: 1px solid var(--control-border);
    border-radius: var(--radius-md);
    background: var(--bg-secondary);
    color: var(--text-primary);
    font: inherit;
    padding: 0 var(--space-3);
}
.kawa-calendar-controls button,
.kawa-refresh {
    cursor: pointer;
}
.kawa-calendar-controls button:hover,
.kawa-refresh:hover {
    background: var(--bg-hover);
}
.kawa-calendar-controls :focus-visible,
.kawa-refresh:focus-visible {
    outline: 1px solid var(--text-primary);
    outline-offset: 2px;
}
.kawa-calendar-table-wrap {
    overflow: auto;
}
.kawa-calendar table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
}
.kawa-calendar th,
.kawa-calendar td {
    text-align: left;
    padding: var(--space-2);
    border-bottom: 1px solid var(--border-primary);
}
