*{box-sizing:border-box}body{margin:0;background:#f5f6f8;color:#222;font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}.container{max-width:900px;margin:auto;padding:18px 12px 50px}.card,.event{background:#fff;border:1px solid #ddd;border-radius:14px;padding:16px;box-shadow:0 2px 8px #0000000a}h1,h2,h3{margin:0 0 12px}p{line-height:1.65}.muted{color:#666;font-size:.9rem}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid #ccc;background:#fff;border-radius:9px;padding:9px 13px}.btn.primary{background:#222;color:#fff;border-color:#222}.btn.small{padding:6px 9px;font-size:.9rem}.btn.danger{color:#9a1f1f;border-color:#e1baba;background:#fff}.form{display:grid;gap:12px}.form label{display:grid;gap:6px;font-weight:600}.form input{width:100%;padding:10px 11px;border:1px solid #bbb;border-radius:9px;background:#fff;color:#222}.topbar,.event-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.topbar{margin-bottom:16px}.header-meta,.member-list,.summary{display:flex;gap:6px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;border:1px solid #ddd;border-radius:999px;padding:4px 9px;background:#fafafa;font-size:.85rem}.code{font-weight:800;letter-spacing:.12em}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-head h2{margin-bottom:12px}.member-list{margin:4px 0 10px}.event-list{display:grid;gap:12px;margin-top:12px}.date{font-weight:700}.event-name{font-size:1.15rem;font-weight:750;overflow-wrap:anywhere}.venue{color:#666;margin-top:3px}.event-extra{color:#555;font-size:.9rem;margin-top:7px}.event-title-wrap{min-width:0}.event-actions{display:flex;gap:6px;flex-shrink:0}.summary{margin-top:12px}.attendance-table{margin-top:12px;border-top:1px solid #eee;padding-top:10px;overflow-x:auto}.attendance-grid{display:grid;grid-template-columns:repeat(var(--member-count),minmax(0,1fr));min-width:560px}.member-cell{min-width:0;text-align:center;padding:0 6px;border-left:1px solid #eee}.member-cell:first-child{border-left:0}.member-name{font-weight:650;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:7px}.choice-tabs{display:flex;justify-content:center;gap:3px}.choice-tab{width:34px;height:32px;padding:0;border:1px solid #ccc;background:#fff;border-radius:7px;font-weight:800;font-size:1rem}.choice-tab.selected{outline:2px solid #222;background:#f4f4f4}.other-status{height:32px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:800}.notice{background:#fff8dc;border:1px solid #ead88a;padding:10px 12px;border-radius:9px;margin-top:12px;font-size:.9rem}.error{color:#a00;white-space:pre-line}.empty{text-align:center;color:#666;padding:28px 8px}.modal-bg{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:12px;z-index:10}.modal{width:min(560px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:15px;padding:17px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.modal-head h2{margin:0}.form-footer{margin-top:14px}.footnote{color:#777;font-size:.78rem;text-align:center;margin-top:18px}.fatal{margin-top:10vh}.fatal .error{white-space:pre-line}.welcome-card,.form-card{margin-top:8vh}@media(max-width:600px){.container{padding:12px 10px 36px}.choice-tab{width:31px}.topbar h1{font-size:1.45rem}.section-head{align-items:flex-start}.attendance-grid{min-width:0}.member-cell{padding:0 2px}.member-name{font-size:.78rem}.event-actions{flex-direction:column}.btn.danger{padding:5px 8px}}


.status-guide {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 8px;
  padding-top: 7px;
  border-top: 1px solid #eee;
  font-size: 12px;
  line-height: 1.5;
  color: #666;
}
.status-guide span { white-space: nowrap; }
.status-guide strong {
  display: inline-block;
  min-width: 1.1em;
  margin-right: 2px;
  color: #222;
  font-size: 13px;
  text-align: center;
}
@media (max-width: 700px) {
  .status-guide {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3px;
  }
}
