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