.pfd-wrap { font-family: inherit; max-width: 980px; margin: 1.5rem 0; }
.pfd-wrap h2 { margin-top: 0; }
.pfd-intro { color: #555; }
.pfd-flash { padding: .8rem 1rem; border-radius: 4px; margin: 1rem 0; }
.pfd-ok { background: #e6f5ea; border: 1px solid #b8e0c2; color: #205a2c; }
.pfd-err { background: #fbeaea; border: 1px solid #e0b8b8; color: #6e1b1b; }
.pfd-confirm { background: #fff7e0; border: 1px solid #e6d18a; }
.pfd-table { width: 100%; border-collapse: collapse; }
.pfd-table th, .pfd-table td { border: 1px solid #ddd; padding: .55rem .7rem; vertical-align: top; text-align: left; }
.pfd-table thead th { background: #f3f3f3; }
.pfd-date { white-space: nowrap; width: 130px; }
.pfd-time { white-space: nowrap; width: 180px; }
.pfd-cap  { white-space: nowrap; width: 70px; text-align: center; }
.pfd-full { background: #fafafa; color: #888; }
.pfd-full .pfd-time, .pfd-full .pfd-date { color: #888; }
.pfd-full-note { color: #a33; font-weight: bold; margin: .3rem 0 0; }
.pfd-entry-list { list-style: none; padding: 0; margin: 0 0 .4rem; }
.pfd-entry-list li { padding: 2px 0; border-bottom: 1px dashed #eee; }
.pfd-entry-list li.pfd-empty { color: #aaa; font-style: italic; }
.pfd-persons { color: #1a5fb4; font-size: .85em; margin-left: .3em; }
.pfd-signup summary { cursor: pointer; padding: .3rem 0; color: #1a5fb4; font-weight: 500; }
.pfd-form { margin-top: .5rem; display: grid; gap: .5rem; }
.pfd-form label { display: block; font-size: .9em; }
.pfd-form input[type=text], .pfd-form input[type=email], .pfd-form textarea {
    width: 100%; max-width: 360px; padding: .4rem; box-sizing: border-box;
    border: 1px solid #bbb; border-radius: 3px; font: inherit;
}
.pfd-btn {
    background: #1a5fb4; color: #fff; border: 0; padding: .5rem 1rem;
    border-radius: 4px; cursor: pointer; font: inherit;
}
.pfd-btn:hover { background: #154a8c; }
.pfd-btn-danger { background: #a33; }
.pfd-btn-danger:hover { background: #802222; }
.pfd-hp { position: absolute; left: -9999px; }
@media (max-width: 640px) {
    .pfd-table, .pfd-table thead, .pfd-table tbody, .pfd-table tr, .pfd-table td, .pfd-table th { display: block; }
    .pfd-table thead { display: none; }
    .pfd-table tr { margin-bottom: 1rem; border: 1px solid #ccc; padding: .5rem; }
    .pfd-table td { border: 0; padding: .25rem 0; }
    .pfd-date, .pfd-time, .pfd-cap { width: auto; }
}
