:root{--color-text:#222;--color-bg:#fff;--color-border:#595959;--color-primary:#1a5fb4;--color-primary-text:#fff;--color-primary-disabled:#4a6a92;--color-focus:#c25e00;--color-error-text:#b3261e;--color-error-bg:#fdecea;--color-success-text:#1e6b2f;--color-success-bg:#e8f5e9;--color-muted-text:#555;color:var(--color-text);background:var(--color-bg);font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;font-size:18px;line-height:1.7}body{background:var(--color-bg);overflow-wrap:anywhere;margin:0}main{max-width:40rem;margin:0 auto;padding:24px 16px}h1{margin:0 0 16px;font-size:1.5rem}h2{margin:24px 0 12px;font-size:1.25rem}.field{margin-bottom:16px}.field label{margin-bottom:4px;font-weight:700;display:block}input[type=text],input[type=password],input[type=date],input[type=time],textarea{box-sizing:border-box;width:100%;min-height:48px;font:inherit;color:var(--color-text);background:var(--color-bg);border:2px solid var(--color-border);border-radius:6px;padding:8px 12px;font-size:18px}.checkbox,.radio{cursor:pointer;align-items:center;gap:12px;min-height:48px;margin-bottom:16px;display:flex}.checkbox input,.radio input{width:24px;height:24px;accent-color:var(--color-primary);margin:0}button{box-sizing:border-box;width:100%;min-height:48px;font:inherit;color:var(--color-primary-text);background:var(--color-primary);cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:18px;font-weight:700}button:disabled{background:var(--color-primary-disabled);cursor:not-allowed}button.button-secondary{color:var(--color-primary);background:var(--color-bg);border:2px solid var(--color-primary)}.button-list{flex-direction:column;gap:12px;margin:0 0 24px;padding:0;list-style:none;display:flex}fieldset{border:none;min-width:0;margin:0 0 24px;padding:0}legend{margin-bottom:8px;padding:0;font-size:1.125rem;font-weight:700}.indented-field{margin:0 0 16px 36px}.indented-field label{margin-bottom:4px;display:block}.fee-input{align-items:center;gap:8px;display:flex}.fee-input input[type=text]{width:8em;max-width:100%}.help{margin:0 0 12px;font-size:16px}.field-error{color:var(--color-error-text);margin:4px 0 12px;font-size:16px;font-weight:700}.place-label{color:var(--color-muted-text);margin:0;font-size:16px}input:focus-visible,button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.message-error{color:var(--color-error-text);background:var(--color-error-bg);border-left:4px solid var(--color-error-text);border-radius:4px;margin:0 0 16px;padding:12px}.message-success{color:var(--color-success-text);background:var(--color-success-bg);border-left:4px solid var(--color-success-text);border-radius:4px;margin:0 0 16px;padding:12px}main>p+p,main>form>p+p{margin-top:16px}.period-switch{gap:12px;margin:0 0 24px;display:flex}.event-help{border:2px solid var(--color-border);border-radius:8px;margin:0 0 24px;padding:12px 16px}.event-help p{margin:0 0 8px;font-size:16px;line-height:1.6}.event-help p:last-child{margin-bottom:0}.event-help-title{font-weight:700}.event-list{margin:0 0 24px;padding:0;list-style:none}.event-card{border:2px solid var(--color-border);border-radius:8px;margin:0 0 16px;padding:16px}.event-card-cancelled .event-date{color:var(--color-muted-text)}.event-date{margin:0 0 4px;font-size:1.125rem;font-weight:700}.event-cancelled{color:var(--color-error-text);background:var(--color-error-bg);border-radius:4px;margin-left:8px;padding:2px 8px;font-size:16px}.event-meta,.event-fees,.event-note{margin:0 0 8px;font-size:16px}.event-fees{padding:0;list-style:none}.event-actions{flex-wrap:wrap;gap:8px;display:flex}.event-actions button{flex:8rem;width:auto}textarea{resize:vertical;min-height:6em;line-height:1.6}.line-post-preview{white-space:pre-wrap;word-break:break-word;background:var(--color-surface);border:2px solid var(--color-border);border-radius:8px;margin:0 0 16px;padding:16px;font-family:inherit;font-size:16px;line-height:1.6}.public-page{max-width:640px}.public-header{margin:0 0 24px}.public-app-name{color:var(--color-muted-text);margin:0 0 8px;font-size:16px}.public-label{margin:0;font-size:16px}.public-notice{border:2px solid var(--color-border);border-radius:8px;margin:0 0 24px;padding:16px}.public-remaining{font-weight:700}.public-closed{color:var(--color-muted-text);margin:0;font-size:16px}.reservation-number{letter-spacing:.08em;word-break:break-all;text-align:center;background:var(--color-surface);border:2px solid var(--color-primary);border-radius:8px;margin:0 0 16px;padding:16px;font-size:20px;font-weight:700}.public-event-summary{margin:0 0 24px;font-size:18px;font-weight:700}select{border:2px solid var(--color-border);background:var(--color-bg);width:100%;min-height:48px;color:var(--color-text);border-radius:8px;padding:12px;font-family:inherit;font-size:18px}.button-link{text-align:center;min-height:48px;color:var(--color-bg);background:var(--color-primary);border-radius:8px;padding:12px;font-size:18px;font-weight:700;text-decoration:none;display:block}.checkin-event{margin:0 0 8px;font-size:18px;font-weight:700}.checkin-total{margin:0 0 8px;font-size:18px}.checkin-over{color:var(--color-error-text);background:var(--color-error-bg);border-radius:8px;margin:0 0 16px;padding:12px 16px}.checkin-breakdown{margin:0 0 24px;padding:0;font-size:16px;list-style:none}.checkin-list{margin:0 0 24px;padding:0;list-style:none}.checkin-row{border:2px solid var(--color-border);border-radius:8px;margin:0 0 12px;padding:12px}.checkin-row-cancelled .checkin-name{color:var(--color-muted-text)}.checkin-name{margin:0 0 4px;font-size:18px;font-weight:700}.checkin-age{font-size:16px;font-weight:400}.checkin-allergy,.checkin-cancelled{color:var(--color-error-text);background:var(--color-error-bg);border-radius:4px;margin-left:8px;padding:2px 8px;font-size:16px;font-weight:400}.checkin-note{margin:0 0 8px;font-size:16px}.checkin-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.checkin-done{color:var(--color-bg);background:var(--color-primary);border-radius:4px;padding:2px 8px;font-size:16px}.staff-list{margin:0 0 24px;padding:0;list-style:none}.staff-row{border:2px solid var(--color-border);border-radius:8px;margin:0 0 12px;padding:12px}.staff-login{word-break:break-all;margin:0 0 4px;font-size:18px;font-weight:700}.summary-period{margin:0 0 12px}.summary-table-wrap{-webkit-overflow-scrolling:touch;margin:0 0 24px;overflow-x:auto}.summary-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:14px}.summary-table th,.summary-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:8px 10px}.summary-table thead th{background:var(--color-primary);color:var(--color-bg);font-weight:700}.summary-table tbody th{font-weight:400}.summary-table tfoot th,.summary-table tfoot td{border-top:2px solid var(--color-primary);font-weight:700}.summary-number{text-align:right;font-weight:700}.summary-row-empty{color:#6b6b6b}.summary-count-input{border:2px solid var(--color-border);border-radius:6px;width:64px;padding:8px;font-size:16px}.summary-target{margin:0 0 8px;font-weight:700}.summary-notice{background:#fff7d6;border-radius:6px;margin:0 0 16px;padding:8px 12px}.feedback-section{border-top:2px solid var(--color-border);margin-top:40px;padding-top:24px}.feedback-notices{margin:8px 0 12px;padding-left:20px;font-size:14px}.feedback-notices li{margin-bottom:4px}.feedback-reader{font-weight:700}.feedback-preview{border:2px solid var(--color-border);white-space:pre-wrap;word-break:break-word;border-radius:8px;padding:12px}.feedback-list{margin:0 0 24px;padding:0;list-style:none}.feedback-item{border:2px solid var(--color-border);border-radius:8px;margin:0 0 12px;padding:12px}.feedback-when{color:#5a5a5a;margin:0 0 6px;font-size:13px}.feedback-body{white-space:pre-wrap;word-break:break-word;margin:0 0 10px}.feedback-relayed{color:#2f6b4f;margin:0;font-size:13px;font-weight:700}.feedback-off{background:#fff7d6;border-radius:8px;padding:12px}
